我设置了一个英雄和一些从顶部向下移动的平台.有了这些,我有collisionBitMasks,可以检测英雄何时登陆平台,如果英雄来自上方(让英雄跳过平台)
if (_hero.physicsBody.velocity.dy > 0) {
_hero.physicsBody.collisionBitMask = 0;
}
else {_hero.physicsBody.collisionBitMask = platformCategory;
}
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了英雄在平台上弹跳.当平台向下移动时,有没有办法让他坐在上面?
我试着用physicsBody.resting和physicsBody.friction,但没有成功.
谢谢你的帮助
有一个英雄可以通过点击屏幕来控制.我希望每次触摸屏幕时英雄看起来都有点不同.
我所做的是设置两个略有不同的图像.我希望在有触摸事件时更改英雄的形象.
到目前为止,我设置了一个数组来保存信息,但它有点无法解决:
NSMutableArray *heroFrames = [NSMutableArray array];
NSString* textureName = nil;
if (UITouchPhaseBegan) {
textureName = @"hero1.gif";
}
else {
textureName = @"hero2.gif";
}
SKTexture* texture = [SKTexture textureWithImageNamed:textureName];
[heroFrames addObject:texture];
[self setHeroFrames:HeroFrames];
self.hero = [SKSpriteNode spriteNodeWithTexture:[_heroFrames objectAtIndex:1]];
Run Code Online (Sandbox Code Playgroud)
我在运行时遇到异常..还有其他想法如何实现我的问题?
多谢你们!