问题标签 [sprite-kit]

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 投票
1 回答
602 浏览

ios - 如何计算精灵套件中落球的速度

我正在尝试获得弹跳球效果,但我并没有真正遇到问题。
我想弄清楚的是如何计算球的速度。

我知道这就是它在 Box2d 中的完成方式

b2Vec2 velocity = b->GetLinearVelocity();
float32 speed = velocity.Length();


这些行如何转换为精灵套件?谢谢

编辑:如果这对速度正确,我正在尝试任何想法

0 投票
4 回答
13459 浏览

objective-c - 水平镜像 SKSpriteNode 纹理

我正在使用名为 Sprite Kit 的新 API 开发 iOS7 游戏。我想水平旋转 SKSpriteNode 图像/纹理。我已经尝试过首先镜像图像,然后创建一个 SKTexture,最后将它应用到 SKSpriteNode 但它不起作用。有没有办法做到这一点?或者我应该有不同的图像?

0 投票
1 回答
1209 浏览

ios7 - 我可以在 spritekit 中制作涟漪效果吗?

我正在尝试在 spritekit 中使用涟漪效应。在这里,我为波纹编写了代码

当我触摸屏幕上的任何地方时,通过使用此代码会产生一波波纹。但我想专门在一个节点上产生涟漪效应。就像屏幕上的触摸点周围有 10 个半径的圆圈。

请帮忙。提前致谢。

0 投票
1 回答
471 浏览

iphone - 将新的 SKSpriteNodes 定位在现有旋转的 SKSpriteNode 的角落

我需要SKSpriteNodes在现有精灵的角落生成 4 个新的(独立的,不是父级的)。它是非常基本的东西,但我正在努力寻找正确的公式,虽然我有它,但它没有按预期工作。有些人可以为我指出正确的公式,或者帮助我提供一些关于计算任何给定旋转的 4 [x, y] 对的指导。非常感激。

在此处输入图像描述

  1. 将每个点的旋转中心移动到原点。
  2. xnew = x * cos(角度) - y * sin(角度)
  3. ynew = y * cos(角度) + x * sin(角度)
  4. 将每个点的旋转中心移回原始位置。
0 投票
1 回答
1023 浏览

ios - Sprite Kit 物理变量与 Cocos2d+Box2d 的比较

我尝试使用 Sprite Kit 框架重写简单的游戏(前段时间由我用 Cocos2d+Box2d 开发)。Sprite Kit 中的一切看起来都简单得多,这很棒,但是我在新项目中调整物理世界参数时遇到了问题。我注意到使用完全相同的图形图像创建的精灵(都具有基本的基于矩形的主体)在 Sprite Kit 中的质量比在 Cocos2d+Box2d 中的质量低四倍。将身体密度设置为 4 可以解决问题,不幸的是,这不是主要问题。看起来与 4 倍乘数相同的问题适用于物理世界中的所有力。我在 Sprite Kit 中做了一些测试,并创建了一个质量比 Cocos2d+Box2d 高四倍的物体,我还将世界重力设置为比 Cocos2d+Box2d 低四倍。结果是两个项目中的物理(首先使用 Cocos2d+Box2,第二次使用 Sprite Kit)的行为类似。我在 Sprite Kit 中找不到像 PIXEL_TO_METER_RATIO (在 Box2 中可用)之类的东西。是否有任何选项可以调整 Sprite Kit 中的物理世界,使其表现得像 Cocos2d+Box2d 中一样,而无需乘以所有力、质量等?也许有某种配置属性可以调整它。如果我在 Sprite Kit 中的重力、质量和力的值与我在 Cocos2d+Box2d 中使用的相同,那么游戏中的所有内容都会被模拟得太快。我的问题是,从带有 Box2d 的 Cocos2d 迁移到 Sprite Kit 框架时如何处理此类问题?是否有任何选项可以调整 Sprite Kit 中的物理世界,使其表现得像 Cocos2d+Box2d 中一样,而无需乘以所有力、质量等?也许有某种配置属性可以调整它。如果我在 Sprite Kit 中的重力、质量和力的值与我在 Cocos2d+Box2d 中使用的相同,那么游戏中的所有内容都会被模拟得太快。我的问题是,从带有 Box2d 的 Cocos2d 迁移到 Sprite Kit 框架时如何处理此类问题?是否有任何选项可以调整 Sprite Kit 中的物理世界,使其表现得像 Cocos2d+Box2d 中一样,而无需乘以所有力、质量等?也许有某种配置属性可以调整它。如果我在 Sprite Kit 中的重力、质量和力的值与我在 Cocos2d+Box2d 中使用的相同,那么游戏中的所有内容都会被模拟得太快。我的问题是,从带有 Box2d 的 Cocos2d 迁移到 Sprite Kit 框架时如何处理此类问题?

0 投票
2 回答
1737 浏览

ios - SKAction前进

我如何获得SKNode前进?

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

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

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

0 投票
2 回答
3440 浏览

sprite-kit - 从中心缩放 SKShapeNode?

我有一个 SKShapeNode,以及一个通用 SKNode 下的标签。如果我尝试缩放该节点,它的位置会无缘无故地改变!。如果我尝试仅缩放它下面包含的节点,它会正确缩放但不能从中心缩放,所以它会向上和向右扩展。

我究竟做错了什么?先规模后 先规模后

缩放后 缩放后

注意它的位置向上移动。不知道为什么,即使我把它作为一个动作来做。此外,位置没有根据日志改变,但看起来框架变大了(尽管这是预期的)

重新创建问题的步骤:

设置高度和宽度 @h = 50 @w = 256

创建具有高度和宽度的矩形 CGRectMake(0, 0, @w, @h)

获取 rect UIBezierPath.bezierPathWithRect(rect).CGPath 的路径

创建带有路径的 skshape 节点,设置位置

创建sklabel,垂直居中对齐,设置位置

创建通用 SKNode,没有属性,将 skshapenode 和 sklabel 作为子节点添加到它

缩放通用 SKNode。

0 投票
17 回答
19301 浏览

objective-c - 在 SpriteKit 中使用 SKLabelNode 插入换行符

关于如何在 SpriteKit 中使用 SKLabelNode 类插入换行符的简单问题。我有以下代码,但它不起作用 -

请帮帮我!

0 投票
1 回答
2669 浏览

objective-c - 在其中心缩放 SKSpriteNode

我有一个SKSpriteNode. 我想让它自己变大然后变小。所以我使用了一系列SKActionusing [SKAction scaleTo:]。它之所以有效,是因为精灵具有更大的宽度和高度,但即使anchorPoint保留(.5, .5)默认值,精灵看起来也会变大并向右移动,因为它没有相对于其中心进行缩放。我假设我做错了什么,因为如果不得不调整 x,y 以抵消缩放的影响听起来有点傻。

如何实现相对于其中心的缩放?

0 投票
3 回答
2382 浏览

objective-c - 我可以使用 zPosition 在其父级下方放置一个子级精灵吗

我正在向父级添加一个精灵,它显示在屏幕上。然而,尽管我的 zPosition 参数,孩子是在它的父母之上。我需要按照 zPosition 中的定义来获取它。

如果只是将精灵添加到 self 而不是作为子项添加到“hjNode”,它将被正确放置。

当前结果是子节点 d5Node 放置在 hjNode(父节点)之上。

添加其他孩子时,zPosition 在添加的孩子中起作用。

在阅读编程指南时,我有一种感觉,除非我错过了什么,否则这可能是个问题。

有人知道这是否可能吗?