问题标签 [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 回答
2303 浏览

sprite-kit - SKSpriteNode 动作等待完成另一个动作

我有一些带有动作的节点,如下所示:

在代码的某个地方(不是在我首先创建的地方)我用另一个动作创建新节点

但是只有当第一个节点完成他的动作时我才需要开始第二个节点的动作我怎么能做到?

0 投票
1 回答
380 浏览

ios - 滑动手势后 SpriteKit 更改图像

我正在尝试编写游戏代码。我有一个可以跳跃和滑动的物体。我想在跳跃时保持“奔跑”的动画,但在滑动时,我想改变图像。我的问题:如果我只是将图像更改为“slide7”,图像不会炫耀。什么都没发生。幻灯片动画应该只出现大约 4 秒,然后再次进入运行动画。有什么建议么?

我的代码:

0 投票
1 回答
66 浏览

sprite-kit - Set minimum duration for Sprite Kit action

I have implemented the following method in my Sprite Kit Game:

What ist the most elegant way to set the minimum time of this action to 1,5 seconds? I tried several ways, but they did not work out for me so far.

0 投票
1 回答
977 浏览

cocoa-touch - 在不从 CGPath 开头开始的情况下跟随带有 SKAction 的 CGPath

我有一个代表椭圆的 SKShape 节点。玩家被放置在基于椭圆的 CGPath 的 Bezier 路径的当前点上:

在此处输入图像描述

我有两个播放器节点可以执行的操作。玩家可以顺时针或逆时针跟随路径。

当我开始其中一项操作时:

玩家沿着适当的路径和方向移动。当我停止其中一项操作时:

玩家停在最后一次移动到的路径上。我希望能够从玩家的当前点开始任何一个动作,并遵循相同的路径,但是现在,如果我再次开始其中一个动作(在一个动作已经开始和停止之后),玩家会跳跃到与图片中相同的起点,然后从那里沿着路径前进。我怎样才能让玩家从它已经在的位置跟随路径?

0 投票
3 回答
789 浏览

ios - 触摸时更改精灵图像

我正在制作一个游戏,其目的是捕捉从屏幕顶部掉落的多个物体。在底部有一个篮子来接住物体。我设法使用 raywenderlich 的教程从顶部到底部随机生成对象:http ://www.raywenderlich.com/42699/spritekit-tutorial-for-beginners

但是我想要的是,当我点击那个随机物体时,那个物体的图像会变成另一个图像,所以如果随机物体是猫,我只是为了想象,在我点击它们之后它们必须变成狗,我该怎么做编程这个?

编辑 这是我到目前为止得到的:

0 投票
2 回答
51 浏览

ios - 精灵一超过屏幕高度就会自行移除

我目前正在第一次尝试 SpriteKit 并使用一些操作。我的印象是,您创建的每个节点/精灵都需要删除它,但由于某种原因,它们一旦通过屏幕高度就会自行删除。这是 SpriteKit 中的正常行为吗?

这是代码。我基本上是在使用一个动作来为屏幕上的精灵设置动画(在 protrait 模式下从下到上),有趣的是,无论我创建多少精灵,节点计数都保持在 0,它实际上计算了它们,但它一旦它们通过屏幕高度,就减去它们。

如果我将动作更改为精灵不跨越屏幕高度的位置,则节点计数将保持计数。

改变这一行...

……到这个

这又是 SpriteKit 中的正常行为吗?

非常感谢

0 投票
1 回答
944 浏览

ios - 在 Sprite Kit 中停止 repeatActionForever

在我的游戏中,我使用SKAction repeatActionForever:方法来定期调用一些方法performSelector:。正如我所看到的,没有办法阻止这种情况。我试图通过removeActionForKey:或停止removeAllActions- 没有结果。我不想递归调用这个动作,所以我需要帮助。

更新: 我的 SKAction 代码

0 投票
1 回答
411 浏览

ios7 - Sprite Kit 使用 SKAction 移动节点导致问题

我正在尝试创建一个积木游戏,其中有一排积木,我将末端积木从右向左滑动,其他每个积木都向右移动 1 个位置。如果我再次将块向后滑动,它们都会向左滑动 1 个位置。我遇到的问题是,如果我缓慢拖动它可以正常工作,但是如果我快速来回拖动,块会变得一团糟,它们会相互重叠,所以不是一排 6,而是一排 4因为 2 个街区位于其他街区的后面。任何建议表示赞赏。

这是我的 Scene.M 中的代码

这是我的 Block.M 中的代码

0 投票
2 回答
90 浏览

ios7 - 在 SKAction 完成后重新定位精灵节点

我正在尝试在 SKAction moveTo 操作完成后重新定位我的精灵。我已将敌人编程为从 (self.frame.size.width/2, 0) 进入屏幕。它们仅在 y 轴上移动。当它们的 y 位置大于 (self.frame.size.height) 时,我想将它们重新定位到初始位置,并以相同的方式一次又一次地移动它们,直到玩家杀死所有敌人。我在这一点上苦苦挣扎。我应该添加哪一部分代码?有任何想法吗?此代码可能会帮助您理解我的实现:

0 投票
2 回答
902 浏览

ios - SpriteKit - 向一个方向缩放

SpriteKit 如何让一个对象朝一个方向增长?

最终,我希望在用户触摸的地方插入一个节点,并让线的每一端缩放,直到它碰到同一类别中的另一个对象或碰到屏幕边缘。我了解如何让它在轴上缩放,然后我可以在检测到一次碰撞后取消缩放,但我希望两个方向独立缩放,直到每个方向发生碰撞。我是 SpriteKit 的新手,所以我的搜索可能使用了错误的术语,但我找不到任何相关的内容。

在用户触摸的地方添加“墙”的代码

在此处输入图像描述

我希望它如何工作:Touch 1 使水平线从 x 轴上的两个方向射出的点开始,直到两端都碰到屏幕边缘。然后,Touch 2 将创建一个点,该点在 y 轴上向两个方向射出,直到下端碰到 Touch 1 创建的墙壁,上端碰到屏幕边缘。线条(缩放点)在用户触摸的地方生成。所以我不希望红色框突出显示的垂直线部分在那里。

向一个方向扩展只是我看到这个问题的一种解决方案,如果有更好的解决方法,我肯定会尝试其他解决方案。