问题标签 [ccsprite]

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 回答
720 浏览

iphone - 根据加速度值在横向模式下移动 CCSprite(cocos2d) 对象

我正在准备一款游戏,我想根据加速度值移动一个对象,游戏处于横向模式。

对于游戏,我使用 cocos2d 框架,并且我正在根据加速度值更改精灵位置,这是我的加速度计代码

CCSprite 对象在哪里player,播放器根据设备方向旋转,但不会根据设备方向改变位置。我究竟做错了什么?是不是在横向模式下,x 轴表现为 y 而 y 轴表现为 x?

0 投票
1 回答
2039 浏览

cocos2d-iphone - 如何将 CCSprite 从一个父级转移到另一个父级?

我有一个CCSprite被调用sprite,它是被CCLayer调用的子级movingLayer,它本身就是当前CCLayer运行我的游戏逻辑的子级,所以self在这种情况下。 movingLayer在屏幕上来回移动,以一种永远重复的动作,并sprite沿着它骑行。我想sprite“下车”movingLayer和“上车”到self它可以自己做一些动作的地方。

当我尝试这样做时,我需要告诉movingLayer删除spriteself添加sprite. 这就是我所做的......

我认为stopAllActions是多余的,但这不是问题。sprite如果我在movingLayer添加之前删除它,我会self因为访问僵尸而崩溃,如果我尝试先添加它self,我会因为尝试添加已经添加的东西而崩溃。

0 投票
1 回答
1030 浏览

iphone - 在 Cocos2d 中实现多个 CCSprites 的正确方式??

我正在使用 cocos2d 开发我的第一个游戏,但我遇到了一个我似乎无法找到正确解决方案的问题。我每秒从屏幕顶部到底部添加一个 CCSprite 并为其设置动画,当玩家触摸其中任何一个时,我需要隐藏这些精灵。所以我想给我添加的每个精灵都加上标签,然后用那个特定的标签访问那个精灵。我是否需要将标签号放入某个数组中,因为它们每秒都会增加,甚至在我以触摸方法访问它们之前?

我也有 3 个方法,每隔几秒调用一次,我创建这些 CCSpriteFrameCache 和 CCSpriteBatchNode 对象以使我的角色在动画时运行。像这样每秒创建缓存会不会太重,或者我应该在 init 方法中创建它们,然后在这里对 CCSprite 运行操作?

0 投票
2 回答
232 浏览

iphone - 精灵位置

我是一个新的 cocos2d 开发人员,我有一个小问题,我需要你的帮助..

实际上,我需要围绕屏幕中心旋转 Sprite,例如,我将位置放在屏幕中心,将锚点放在 (-1,-2) 上,然后我进行了旋转。

现在我的问题是我需要知道旋转后精灵的真实位置,每次我尝试读取位置时我都得到了屏幕中心点,这就是我不需要的。

有没有办法获得 Sprite 的真实位置?

0 投票
1 回答
1348 浏览

iphone - 如何创建一个多边形形状的 CCSprite

我想要的是让用户绘制一个多边形并以多边形的形状制作一个精灵。我已经为用户完成了创建多边形的所有编程,所以我可以读取任何绘制的图像的顶点。但是,我似乎只能使用 CGRectMake 制作矩形的精灵。有没有办法从多边形文件创建精灵图像。就像一个 CGPolyMake 我给它顶点或类似的东西。

我不知道用户将绘制什么形状,所以我无法预先制作多边形精灵。谢谢你的帮助!

0 投票
1 回答
1037 浏览

iphone - CCsprite锚点问题

我对锚点有一些问题..

我有一个精灵,我需要围绕屏幕中心计算这个精灵的锚点。

如何计算锚点?

0 投票
1 回答
241 浏览

iphone - 根据加速度移动“下落”的 CCSprite

我正在使用此代码根据 UIDevice 的加速度移动“下降”精灵。它工作得很好,但非常滞后,这意味着精灵的位置之间存在跳跃。

我尝试以这种方式使用 CCMoveTo:

但精灵根本不会移动。有什么提示吗?

制造商,

侧滑

0 投票
1 回答
794 浏览

ios - convertToNodeSpace 无法正常工作

使用此代码(稍作调整)我无法获得恒定的 Y 值。它不断变化。X 工作完美,但 Y 确实有偏差。

我正在制作屏幕大小的瓷砖。当我抓取并拖动它时,它适用于 x。所以如果我点击屏幕上的一个空间,说

触摸结束 x : 459.000000 y : 705.000000

然后拖开一点我明白了

触摸结束 x : 459.000000 y : 823.000000

所以 x 值保持不变,这是我想要的,但 Y 值发生变化,没有呈现正确的值

我的打印代码如下所示

大部分来自这个网站......

http://firsttimecocos2d.blogspot.com/2011/07/how-to-scroll-and-zoom-inout-of-map.html

任何事物?谢谢!

0 投票
1 回答
592 浏览

objective-c - cocos2d sprites 禁用触摸

我有 cocos2d 的游戏我有很多精灵我用触摸来精灵

但是当我触摸精灵时必须删除我有

但是触摸有效,因为我使用对象坐标并且当我从子项中删除对象时我无法删除对象我该怎么办?为什么我可以获得精灵的触摸事件。有什么没有坐标法的吗?

0 投票
1 回答
417 浏览

objective-c - 当没有应用比例时,是什么导致精灵扭曲

一张图片胜过千言万语。这是我的:

好精灵旁边的精灵搞砸了

上图描绘了两个精灵,右中的一个是玩家,左中的一个是AI玩家。它们的两个初始化都使用相同的超类。我们应该看到类似质量的精灵。

然而,正如你所看到的,正确的精灵在某种程度上被扭曲了。我还注意到来自同一 spriteSheet 的其他精灵的斑点出现在某些动画帧的上方和下方。从未对玩家精灵进行任何转换。除了在 ai sprites 上执行的操作之外,不会运行任何操作。

有人遇到过这种情况么?我什至不知道如何表达这个问题;)还有问题吗?请问!

详细信息:我使用的是 Cocos2d 1.0.0.. Xcode 4.1 在 Lion 上运行。

代码示例:此代码在初始化包含 CCFiniteTimeActions 和 CCSprite 的 NSObject 之后运行

变量“sprites”是指向 CCSpriteBatchNode 的指针。我确信它们指向同一个批处理节点,因为只有一个。

如您所见,该对象通过批处理节点将自己的动画添加到图层。

我将发布发生运动的方法:

自询问以来,我尝试添加以下行:

它消除了玩家的精灵的模糊,但将图像拉宽了一点。可能值得一提的是,这些精灵帧中的每一个都是 32x32 像素,并且不会填满整个帧。
此外,上述代码行并没有影响 ai 精灵的外观。

* ------- * 编辑::

我修好了它。

发生了什么:

我有两个浮动来保存精灵即将在屏幕上移动到的位置。我世界中的所有其他精灵都是从玩家的参考中提取的。

在我的引用过程中,浮点数被格式化为一个 int,所以游戏中的每个其他精灵都收到了该位置的 int 版本。

这让我相信,在我的代码的某个地方,一定有一些东西将这两个浮点数细分。

感谢@jtbandes 的“半像素值”提示。我仍然不知道这个位置是如何变成一个整数的:(

无论如何,将浮点数更改为整数可以解决所有问题。

谢谢!