问题标签 [chipmunk]
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.
objective-c - 使用 iterateFunc 调用目标 c 方法
使用 spacemanager,我需要在每一步之后对选定的主体执行一个操作,所以我认为为 iterateFunc 定义我自己的 C 函数将是可行的方法。
一切都很好,除了我不确定如何在同一个类中调用 obj c 方法。换句话说,一个 obj c 类既包含替换 iterateFunc 的 c 函数,也包含需要调用的方法。我不知道如何告诉 c 函数“自我”是什么,以便我可以调用该方法。据我所知,没有办法将任何额外信息传递给新的 iterateFunc。
有什么想法,或者更好的处理方式吗?
更新:
感谢您的回复。声明一个新的 spacemanager,可以重新定义它的 iterateFunc:
在同一个类中,可以声明一个“doThisFunc”函数。
在 spacemanager 中,这iterateFunc
是从“step”方法调用的:
所以我的第一个想法是继承spacemanager,并在我的自定义步骤方法中,cpSpaceHashEach
使用我自己的类而不是self(即spacemanager)调用。到了一半,我意识到我什至不必这样做,因为我需要做的只是子类化和定义我自己的 step 方法。我的新步骤方法:
谢谢,bbum 你的回答,并帮助我在未来提出更好的问题。
iphone - 检查花栗鼠物理中的碰撞速度
我正在使用带有 Cocos2D 的 iPhone 版 Chipmunk 5。在两个特定对象之间发生碰撞时,我想运行一个方法来检查该碰撞的速度,如果超过 x 则运行一组代码,如果低于 x 则运行另一组代码。
现在,我了解了基础知识,但我无法计算出运行碰撞检测方法的代码以及检查冲击速度的代码。
任何帮助或指示将不胜感激。
干杯。
cocos2d-iphone - Cocos2D 小行星
在学校我必须为我的 iPod touch 制作一个游戏,我选择做一个小行星游戏。我刚开始使用 cocos2d,但已经阅读了 wenderlich 博客。我想在我的游戏中使用花栗鼠,我想要船的真实运动。是否有关于创建小行星运动的教程?
谢谢。
c - 如何将 SpaceManager cpShape 存储在类似数组的位置?
我正在尝试使用 Cocos2d 和 Chipmunk(通过 SpaceManager)创建一个柔软的球,使用一堆 rects 全部链接在一起,然后用弹簧连接到一个中央主体。
但是为了做到这一点,我认为我需要在创建它们之后将所有 cpShapes 存储在一个数组中,这样我就可以循环遍历数组以将它们与约束链接在一起。
但是,当我尝试将 cpShapes 放入数组时,我收到一个错误消息,告诉我它是“不兼容的指针类型”。所以......我要么需要使用数组以外的东西(我已经尝试过一个集合,但也没有用)或者我需要对形状做一些事情以使其兼容......但是什么?或者我需要另一种方法。
有任何想法吗?
这是到目前为止的代码应该是相关的......
physics - 射弹在其路径的顶点命中坐标
我有一个弹丸,我想通过其路径顶点的特定坐标。我一直在使用 giogadi在这里概述的一个极好的方程,将它产生的速度值插入花栗鼠的 cpBodyApplyImpulse 函数中。
该等式有一个我无法弄清楚的缺点。它仅在我想要击中的坐标值高于大炮(我的射弹开始的地方)时才有效。这意味着我不能以向下的角度拍摄。
任何人都可以帮我找到一个合适的方程,无论目标与大炮的关系在哪里?
cocos2d-iphone - 附加到静态主体时更改 CCSprite 锚点
我正在花栗鼠中创建一个静态形状(使用 SpaceManager)并将 cpCCSprite 附加到它。
但是,我需要精灵的锚点偏离中心,但是当我更改精灵的锚点时,形状和精灵不再对齐。
所以如果我像这样改变锚点
相应地绘制了精灵,但我希望形状会随之“移动”。这是我的意思的图片。
大炮的外观 http://www.tomelders.com/bin/cannon.png
左边是正确对齐的形状和精灵。我没有改变锚点。
右边是带有锚点的精灵ccp(0.5, 0.3)
我也在每帧重新散列静态形状。
这是它的创建方式
cocos2d-iphone - 使用 Chipmunk 身体位置驱动 Cocos2D Parallax
我在 Cocos2D 中使用带有 SpaceManager 的 Chipmunk。我有一个随着脉冲移动的身体,我希望能够使用那个身体位置来驱动 Cocos2D 中的视差节点。
因此,当身体“a”向左移动时,视差随之而来,但具有较小的时间偏移或弹性效应。如果您了解 AS3 和 Flash,则可以将其视为使用影片剪辑的 x 和 y 位置来驱动不断更新的补间并具有缓出效果。这就是我想要实现的目标,昨晚没睡觉试图解决这个问题后,我决定问你更有经验的人:)
谢谢。
cocos2d-iphone - 花栗鼠的身体随着视差移动?
我正在使用 Cocos2D、SpaceManager 和 Chipmunk。我有一个有 4 层的视差节点,这与可玩的花栗鼠身体的位置有关。该物体需要与其中一个视差层上的静态物体发生碰撞,静态物体必须从屏幕开始,然后移动到屏幕并发生碰撞。
我知道你不应该用花栗鼠移动静态物体,除非你重新哈希。但是,每秒重新散列 60 次以跟上帧速率似乎很混乱。谁能想到另一种方法来做到这一点?
干杯。
iphone - 花栗鼠:如何去除形状和身体?
首先,对不起我的英语,我不是美国人。我的问题是如何从空间中移除形状和身体,这与碰撞检测无关。我试图通过触摸事件来做到这一点,特别是我正在尝试清除一个触摸它的球(我在空间中有很多球),但我不知道该怎么做,我一直在寻找互联网和找不到任何关于如何做的帮助,所有这些都与碰撞有关,这不是我需要的。
我阅读了很多次文档,但没有包含任何有用的信息如何做到这一点。只有如何用碰撞删除。我知道如何用碰撞删除:
静态 void postStepRemove (cpSpace *space, cpShape *shape, void *data) {
}
静态 int 冲突(cpArbiter *arb,cpSpace *space,void *data){
}
我将它与碰撞一起使用,但我需要一些没有碰撞的示例。
iphone - 滚球音效
我正在使用 Chipmunk 和 openAL 为 iPhone 开发一个迷宫风格的应用程序。除了滚球的声音,我让一切正常。我尝试的是在每次更新球的位置时播放一个小声音,这样整体效果听起来就像球在滚动。根据这个论坛上的建议,我厌倦了使用球的速度来调整声音的音高。我有以下问题:
- 当我在花栗鼠回电中播放此声音时,我根本听不到声音。我可以在别处听到。
- 即使我以某种方式完成了这项工作,我应该播放的声音也必须非常非常短,因为球不会花费太长时间来滚动。必须有另一种方式。
有人可以帮忙吗?如果声音也包括在内,我什至可以为一个简单的应用程序付费。