SpriteKit 动画物理
Posted
技术标签:
【中文标题】SpriteKit 动画物理【英文标题】:SpriteKit Animation Physics 【发布时间】:2014-03-26 05:24:20 【问题描述】:有没有办法将 skphysics 应用于动画角色?好的,当我在屏幕上移动播放器时,我让播放器播放动画,下面是它的动画代码,但是由于某种原因,当我想将物理应用于我的动画时,我收到一个错误,提示数据类型错误。 将“SKSpriteNode *_strong”发送到不兼容类型“CGRect”(又名“struct CGRect”)的参数
没有声誉,我无法回答我自己的问题,所以我在这里发帖。
其实没关系,我必须添加这个 _Player.frame,我希望这是正确的,并且正在为我的角色添加物理特性。但是,如果我错了,请纠正我。谢谢。
- (void) Player
_Player = [SKSpriteNode spriteNodeWithImageNamed:@"bird"];
_Player.xScale = 0.88;
_Player.yScale = 0.88;
_Player.position = CGPointMake(100, 100);
[self addChild:_Player];
// 1
NSMutableArray *PlayerCh = [NSMutableArray arrayWithCapacity:2];
// 2
for (int i = 1; i < 2; i++)
NSString *mytextureName = [NSString stringWithFormat:@"bird%d", i];
SKTexture *ItsTexture = [SKTexture textureWithImageNamed:mytextureName];
[PlayerCh addObject:ItsTexture];
// 3
for (int i = 2; i > 1; i--)
NSString *mytextureName = [NSString stringWithFormat:@"bird%d", i];
SKTexture *ItsTexture = [SKTexture textureWithImageNamed:mytextureName];
[PlayerCh addObject:ItsTexture];
// 4
_PlayerAnimation = [SKAction animateWithTextures:PlayerCh timePerFrame:0.1];
// SKPHYSICS FOR PLAYER
SKPhysicsBody *MYPLAYER = [SKPhysicsBody bodyWithCircleOfRadius:_Player]; // I get a error here.
【问题讨论】:
【参考方案1】:当然,这个程序在运行时必须崩溃 [SKPhysicsBody bodyWithCircleOfRadius:_Player] 需要一个浮点数而不是 SKPriteNode,您可能想要做的是将此行代码更改为以下内容:
SKPhysicsBody *MYPLAYER = [SKPhysicsBody bodyWithCircleOfRadius:_Player.size.width/2];
【讨论】:
顺便说一句,朋友感谢您的帮助,但我已经找到了答案并在原帖中回答了我自己的问题,但由于我没有足够的声誉,我无法使用回答您的问题功能所以请取消投票我的问题,因为这会影响我的帐户。谢谢。 我明白,顺便说一句,我不是投反对票的人,作为一种友好的姿态,我会为你投赞成票。 谢谢。顺便说一句,在我正在设计的游戏方面我需要帮助,请问可以吗? 当然,去吧,如果可以的话我会帮忙的 感谢您对 bud 的帮助,这是我的帖子地址。你也可以看看吗?谢谢。 ***.com/questions/22876813/…以上是关于SpriteKit 动画物理的主要内容,如果未能解决你的问题,请参考以下文章