- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当我更改 GameScene 的 anchorPoint (从默认 0,0 到 0.5,0.5)
时, Sprite 的 physicsBody 从屏幕上消失了
使用 kView 进行调试.showsPhysics = true
。
它仍然存在,因为每艘船都会相互碰撞,但看起来 physicsBody 的位置已移动(移出屏幕)。
为什么这个变化会影响场景子物体的物理体?
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
anchorPoint = CGPointMake(0.5, 0.5)
physicsWorld.gravity = CGVector(0, 0)
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
let sprite = SKSpriteNode(imageNamed:"Spaceship")
sprite.physicsBody = SKPhysicsBody(circleOfRadius: 100)
sprite.xScale = 0.5
sprite.yScale = 0.5
sprite.position = location
let action = SKAction.rotateByAngle(CGFloat(M_PI), duration:1)
sprite.runAction(SKAction.repeatActionForever(action))
self.addChild(sprite)
}
}
}
最佳答案
我也是这样。我将 SKScene 的 anchor 也放在中间 (CGPointMake(0.5, 0.5)),它完全破坏了物理效果。您会注意到这一点,尤其是在向物理场景添加关节时,您将无法将物理关节 anchor 放在正确的位置。
我的建议是,如果使用 SKPhysics,请不要更改 SKScene anchor (我花了很多时间和重写来找出答案)。
关于ios - SKScene.anchorPoint 如何影响 physicsBody?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094391/
在Cocos2d(Android,JAVA)中,我使用CCRotateBy来旋转一个CCNode,其中包含多个子节点。我想使用中心图 block 的中心作为旋转点,所以我想我应该使用 anchor 。
我已成功为图层的位置和变换(旋转)制作动画。 现在,我需要为 anchor 设置动画,但所有尝试都失败了!即使我这样做: 2012... App[6437:403] layer: 1, KeyPath
所以我使用此代码顺时针或逆时针旋转对象。 override func touchesEnded(touches: Set, withEvent event: UIEvent?) { l
当我更改 GameScene 的 anchorPoint (从默认 0,0 到 0.5,0.5) 时, Sprite 的 physicsBody 从屏幕上消失了 使用 kView 进行调试.shows
我有一个继承自 SKNode 的自定义类,我想在该类上实现 SKSpriteNode 的类似 anchor 的功能。具体来说,我想要实现的是自动将自定义节点置于父节点的中心(anchorPoint 为
我正在尝试设计一款 Swift 游戏,但我注意到我无法让游戏中的球进入屏幕的左上角。我在下面设置了 anchor 。 override func didMoveToView(view: SKView)
我一直在使用 CGAffineTransformMakeScale 来缩放 UIView。这将通过默认的 anchor 对其进行缩放,即 (.5, .5) -- 中心。我想缩放它,使其向左拉伸(str
我使用的代码来自 apple 的 Touches code (我刚刚将 piece 的变量名更改为 image): - (void)adjustAnchorPointForGestureRecogni
我想使用 Sprite Kit 制作一个基于文本的游戏(就像那些学习打字游戏一样)。 我以为我会为字符串使用 SKLabelNode,但是当我尝试设置 anchorPoint 以旋转它时,我得到一个错
我的游戏基于并排的两个屏幕(A 和 B),但设备屏幕一次只能显示其中一个。 例如 A 在位置 (0, 0),B 在 (320, 0) 我尝试了两种从 A 切换到 B 的解决方案: 首先,我将整个场景放
我将 UICollectionViewFlowLayout 子类化以在水平滚动期间实现小的缩放效果。因此,我不得不继承 UICollectionViewCell 并更改单元格的 layer.ancho
我正在制作一个带有可旋转饼图的应用。但是,我的饼图围绕 (0,0) 旋转,我找不到使其围绕其中心旋转的解决方案。 部分代码: // DRAWING CODE // Set constants
我下载了这个示例:https://developer.apple.com/library/ios/#samplecode/Touches/Introduction/Intro.html#//apple
Google Maps API v3 文档说 MarkerOptions 可以包含 anchorPoint 来指定偏移量(相对于标记移动图标): https://developers.google.c
注意:这是针对 OS X 而非 iOS 上的 Cocoa 应用。 我有一个层支持的 NSButton(NSView 的子类)。我想要做的是使用 Core Animation 旋转那个按钮。我正在使用以
我不知道是不是只有我一个人这样,但我刚刚注意到默认的 AnchorPoint 已更改为 0, 0。如何将其更改回 0.5, 0.5?或者如果无法更改默认 AnchorPoint,那么请告诉我如何更改
我正在尝试使用 UIGestureRecognizers 旋转、平移和缩放 UIView。识别器被添加到父 View ,而旋转、缩放等被应用到 subview (_baseImage),这是为了让我能
[self setTransform:CGAffineTransformIdentity]; [self setFrame:CGRectMake(o.x, o.y, width, self.frame
我是一名优秀的程序员,十分优秀!