gpt4 book ai didi

ios - XCODE/SK SpriteKit/如何让我的 Sprite 移动

转载 作者:太空宇宙 更新时间:2023-11-04 13:25:15 25 4
gpt4 key购买 nike

我非常需要你的帮助。所以我是 XCODE 的 SpriteKit 的新手,我刚刚开始使用这个机制。我目前有一个背景图像和一个位于中心的 Sprite 。

问题

Sprite 在屏幕上水平移动,这正是我想要的。然而, Sprite 移出了屏幕,我想要的是 Sprite 和背景之间的连续运动。例如,下面视频链接中的这个游戏显示了我想要的那种关系。 https://www.youtube.com/watch?v=9RYgMqkRgoE

       SKSpriteNode *mega =[ SKSpriteNode spriteNodeWithImageNamed:@"Mega.png"];
mega.position = CGPointMake (self. frame.size.width/2, self.frame.size.height/2);
mega.size = CGSizeMake(30,30);
mega.zPosition = 3;

mega.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:mega.frame.size];

mega.physicsBody.usesPreciseCollisionDetection = YES;
mega.physicsBody.mass = 0.2;
mega.physicsBody.affectedByGravity = NO;
mega.physicsBody.dynamic = NO;

SKAction *moveNodeUp = [SKAction moveByX:500 y:0.0 duration:10];
[mega runAction: moveNodeUp];



[self addChild:mega];

SKAction *repeater = [SKAction repeatActionForever:moveNodeUp];

[mega runAction:repeater];

SKSpriteNode *bg = [SKSpriteNode spriteNodeWithImageNamed:@"bg.png"];
bg.position = CGPointMake(160, 284);
bg.size = CGSizeMake(self.frame.size.width, self.frame.size.height);

SKAction *moveNodeForward = [SKAction moveByX:500 y:0.0 duration:10];
bg runAction: moveNodeForward];



[self addChild:bg];

最佳答案

移动背景,而不是 Sprite 。

如果您仔细观看该视频,您会发现 Angular 色永远不会离开屏幕中心太远。背景的运动(连同 Angular 色上的动画)营造出运动的错觉。

如果删除这些行:

SKAction *moveNodeUp = [SKAction moveByX:500 y:0.0 duration:10];
[mega runAction: moveNodeUp];

当您移动背景时,播放器看起来会向左移动。

我建议看一下诸如 this one 之类的问题如果你想创建一个类似于视频中的游戏

关于ios - XCODE/SK SpriteKit/如何让我的 Sprite 移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com