问题标签 [skaction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5506 浏览

sprite-kit - checking if an SKNode is running a SKAction

How can I check whether a SKNode is already running an action before running an action on it? I want to be able to do something like...

If there is no built in way I'm thinking of creating a new BOOL property for holding the action state.

0 投票
1 回答
657 浏览

iphone - SKAction 持续显示单个图像?

我有一个由对象组成的动画帧NSMutableArray序列SKTexture。播放完该序列后,我想在静止帧上折叠一秒钟,然后再重复所有内容。上面的代码有效,但我能找到指定在帧上保持一段时间的唯一方法是使用animateWithTextures:timePerFrame:和提供单个纹理数组。是否有另一种方法可以在SKAction我丢失的持续时间内显示单个图像。

0 投票
1 回答
12539 浏览

ios - 是否可以在 SKAction 中途结束?

我有一个 SKSpriteNode (monsterNode) 的子类。它使用矢量自动在屏幕上运行以跟随玩家。我目前正在使用以下操作使其运行:

我想知道是否有可能做到这一点,因此如果 monsterNode 到达 iOS 设备屏幕的边界,它实际上会停止运行该操作。我目前在屏幕边缘有 SKSpriteNode 边界,与联系代表链接以通知怪物和墙壁是否接触。但是,如果我不能真正阻止怪物的 actionMove 动作完成,那将毫无意义。怪物需要停在屏幕的边界。如果无法在 SKAction 中途停止执行,是否有迂回的方法可以这样做?

0 投票
1 回答
7496 浏览

ios - SKAction 序列是否真的等到动作结束?

我有以下代码:

我希望我的行动真正等到前一个行动完成。意思是,我的动作需要排序,以便在对象完成移动之前该rep动作不会重复该动作。action目前,输出似乎立即运行所有操作,并且没有像应有的那样对它们进行排序。我已经阅读了文档,我现在所拥有的是他们所说的......

0 投票
3 回答
5542 浏览

ios - 如何以一致的速度移动 IOS SKSprite

在IOS SpriteKit中玩SKSprites,我基本上想让一个精灵随机移动某个方向一定距离,然后选择一个新的随机方向和距离。很简单,创建一个生成随机数然后创建的方法动画和动画的完成块有它回调相同的例程。

这确实有效,但它也阻止了动画以相同的速度移动,因为动画都是基于持续时间的。如果对象必须移动 100,它会以 1/2 的速度移动,如果下一个随机告诉它它移动move 200... 那么我怎么让它以一致的速度移动呢?

0 投票
2 回答
1737 浏览

ios - SKAction前进

我如何获得SKNode前进?

我已经能够让节点在一个固定的方向上移动,[SKAction moveByX:y:duration:]但我希望它在一个相对于它所面对的方向的方向上移动。

我希望让每个节点转 45 度,然后“走”向前 50 像素。

看起来很简单,我只是找不到它。

0 投票
1 回答
1056 浏览

gravity - 如何改变 SKAction 中的重力?

我正在使用 Sprite Kit 制作游戏,我想知道是否可以制作一个 SKAction 来改变他的重力一段时间,是吗?这是我已经拥有的代码:

提前致谢!

0 投票
2 回答
2232 浏览

sprite-kit - SKScene 比例 + 锚点 = 奇怪的行为

我有一个空的 SKScene 需要水平居中,所以我将它设置为 anchorPoint:

我还需要根据SpriteKit - Set Scale and Physics 对其进行缩放,因此我对它执行如下操作:

我的问题是,当我检测到触摸时,我得到的位置看起来很奇怪。我使用通常的 (locationInNode:self) 方法检测触摸,我目前正在触摸的位置添加一个蓝色小方块,但是当我触摸设备的 4 个角时,我看到一个占屏幕四分之一的框架(正确)但向左移动了一个看似任意的量

以下是我已经检查过的一些内容:

  • 场景在 viewWillLayoutSubviews 中初始化,我知道它具有正确的初始尺寸
  • 场景的 scaleMode 设置为 SKSceneScaleModeAspectFill,但我尝试了所有这些都无济于事
0 投票
1 回答
156 浏览

ios - SKAction 上的 EXEC_BAD_ACCESS

我正在开发一个 Spritekit 游戏。

触摸EXEC_BAD_ACCESS节点时收到异常,我尝试运行操作

此功能捕捉触摸

对象片法rotateBack

[self animationFrames] 是一个 NSMutable 数组转换为 NSArray

最后框架是一个NSMutableArray包含一些SKTextures

执行在动画执行时中断。

0 投票
1 回答
437 浏览

objective-c - SKAction 似乎不起作用

我正在使用精灵套件制作游戏。我创建了一个菜单屏幕,用户可以在其中按下按钮转换到下一个场景,并且我想在按下按钮时为其设置动画。

我正在尝试使用 SKAction 来执行此操作,我已经编写了这段代码,但是当我按下按钮时没有动画出现。

(我知道问题不在于这段代码没有运行,因为在按下按钮时过渡到下一个场景的工作与预期完全一样,除了按钮动画不播放)

如果有帮助,playGameButton它是一个 SKSpriteNode,它是一个 .png 图像。

我目前正在模拟器上运行它。

非常感谢任何建议的帮助。我很确定这对于有经验的人来说是相当明显的事情。

谢谢。