我的目标是在.sks文件中设置我的所有平台,以便更轻松地设计我的关卡。这是在didMove之前在gamescene.swift的顶部声明的:privatevarJumpThroughPlatformObject=SKSpriteNode()这是在DidMove中:ifletJumpThroughPlatformObjectNode=self.childNode(withName:"//jumpThroughPlatform1")as?SKSpriteNode{JumpThroughPlatformObject=JumpThroughPlatformObjectNode}我引用平台以从.
这个“hitbox”的目的是让玩家只能在地面/平台上行走时跳跃。hitbox比玩家宽一点,并且在玩家的脚上。这是我的播放器类:classPlayer:SKSpriteNode{letmaxPlayerSpeed:CGFloat=300staticvarisPlayerOnGround=falseinit(){//playerstexturelettexture=SKTexture(imageNamed:"playerMove1")super.init(texture:texture,color:SKColor.clear,size:texture.size())//hitboxthat
我有一个带钟摆的工作时钟,但摆臂无法正确缩放。这是缩放前的样子...然后,缩放后...钟面缩小,摆臂(绿线)也缩小,但看起来它围绕其中心点而不是表盘中心的支点缩放。我可以通过设置秋千的anchorPoint来解决缩放问题,使其向一端而不是中心缩放...swing.anchorPoint=CGPointMake(0,0.5);但这样做会导致钟摆不摆动。(我想是因为物理力被施加到swing的anchorPoint上,如果我将它移到一端,它就会在固定的pinanchor上)。我怎样才能使ARM向支点缩放并仍然允许它摆动?这是代码...//inmySKSceneClockFace*face=[
我对SpriteKit中的anchor感到非常困惑。如果我有一个由多个子节点组成的节点,并且我更改了节点的anchor,那么所有的子节点都会错位。有什么办法解决这个问题吗?我认为如果我总是使用默认anchor(0.5,0.5)来定位节点真的很烦人,所以有时我会将anchor更改为例如1.0,0.0以便轻松将其放置在右下角。但是如果这个节点有子节点,那么当我改变anchor时它们都错位了。我错过了什么? 最佳答案 尽可能避免更改默认anchor。如果您确实要更改anchor,请确保仅在没有子节点的节点上执行此操作。在您的情况下(一般而
我目前正在从事Spritekit项目。我有3个场景:MainMenu、Game、Gameover我希望仅当用户处于Game场景和Gameover场景时才显示iAd。这是我当前在ViewController.m中的iAd代码:-(void)viewWillLayoutSubviews{//ForiAds_bannerView=[[ADBannerViewalloc]initWithAdType:ADAdTypeBanner];_bannerView.frame=CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.h
我想在SpriteKit中暂停和取消暂停场景,在同一位置有2个按钮。当场景正在运行时,我想显示“暂停”按钮。当场景暂停时,我想隐藏“暂停”按钮并显示“播放”按钮。在SpriteKit中,您可以使用在SpriteKit中定义的self.scene.view.paused。我的代码:@implementationMyScene{SKSpriteNode*PauseButton;SKSpriteNode*PlayButton;}-(id)initWithSize:(CGSize)size{if(self=[superinitWithSize:size]){[selfPause];}retur
我想使用applyImpulse方法在基于physicsBody旋转的方向上移动physicsBody。例如,physicsBody是一个正方形,我称之为“移动”,它会施加一个脉冲使其垂直向上移动。然后我调用一个方法将physicsBody向右旋转45度。如果我再次调用“移动”方法,physicsBody将沿对角线向右和向上移动。 最佳答案 我建议您遵循SpriteKit的坐标和旋转约定。具体来说,您的Sprite图像应该以零度(默认值)面向右,正值是逆时针旋转。也就是说,这是一种在Sprite面向的方向上施加脉冲的方法://Spe
Thisquestion和其他人讨论如何使用SKCameraNode跟踪SpriteKit中的节点。但是,我们的需求各不相同。其他解决方案,例如在SKScene的update(_currentTime:CFTimeInterval)中更新相机位置,是行不通的,因为我们只想在节点移动了Y像素后调整相机位置在屏幕下方。换句话说,如果节点向上移动10个像素,相机应该保持静止。如果节点向左或向右移动,相机应保持静止。我们尝试随着时间而不是立即为相机的位置设置动画,但是在update(_currentTime:CFTimeInterval)内针对相机运行SKAction无法执行任何操作。
我目前正在研究2D无尽的运行者,用Swift3编写并使用Spritekit。简短的问题:有没有办法只检查角色矩形物理体右侧的碰撞?更多信息:角色运行的平台由拼图组成,用户可以随着游戏的进行在其上构建。角色相对于背景(从右到左)从左到右前进。我希望角色在与他右侧的棋子碰撞时自动跳跃。然而,玩家放在他右边的任何棋子(与角色相同的Y值)与他下面的棋子属于同一类。因此,只要游戏检测到角色与其下方的棋子发生碰撞,检查角色与右侧棋子之间的碰撞并让他跳跃的代码也会让他跳跃。我没能找到另一个像我这样的问题,因为通常其他人的角色会与其地面类中不同类的对象发生碰撞。谢谢!附言我试图使我的角色成为具有两个物
我正在制作一个简单的游戏,其中用户在对象(SKSpriteNode)上向上滑动,以拱形运动向上和向下发送它(我假设使用SKAction)。这是我希望完成的视觉效果(请原谅我的基本Pixelmator技能):我创建了一个SKAction,它向上发送对象并根据速度等计算滑动的最终点。但是,我无法弄清楚一旦到达最终点如何使拱形运动发生,也不能回落到屏幕底部。我希望我可以为对象添加重力,并且SpriteKit将处理对象的移动,但从我最初的发现来看情况似乎并非如此。我在这里发布了我当前的代码:https://github.com/mikeberlin/Swipe-Arch-PoC该应用基于本教程