问题标签 [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.
cocos2d-iphone - 花栗鼠 + 空间管理器
大家好,我搜索了很多论坛,似乎找不到我的问题的答案。我知道这个论坛不是专门针对花栗鼠或 spaceManager 的,但我想我会看看是否能得到任何帮助。我的问题是,我正在制作一个简单的游戏,用户试图将足球扔到轮胎的中心。我为轮胎的顶部和底部创建了两个多边形形状,我想将它们附加到单个轮胎精灵上。我不知道如何将两个形状/身体附加到一个精灵上并将其附加到顶部和底部,并且仍然能够移动精灵并将其用于碰撞?如果可能的话,一些示例代码会很有帮助!谢谢。以下是我创建形状和精灵的方式:
//上半轮胎 [smgr addPolyAt:cpv(70,195) mass:STATIC_MASS rotation:0 numPoints:6 points:cpv(2,12), cpv(28,8), cpv(33,0), cpv(36,- 10), cpv(-33,-10), cpv(-20,8)];
//LOWER HALF TIRE [smgr addPolyAt:cpv(70,125) mass:STATIC_MASS rotation:0 numPoints:7 points:cpv(34,8), cpv(31,0), cpv(25,-9), cpv(7, -13), cpv(-20,-8), cpv(-30,0), cpv(-35,8)];
//添加轮胎 CCSprite *backTire = [CCSprite spriteWithFile:@"TractorTireBack.png"]; backTire.position = ccp(70,160); [self addChild:backTire z:1];
我知道我可以将一个图像附加到这样的形状:
cpShape *shape = [smgr addPolyAt:cpv(70,195) 质量:STATIC_MASS 旋转:0 numPoints:6 点:cpv(2,12), cpv(28,8), cpv(33,0), cpv(36,-10 ), cpv(-33,-10), cpv(-20,8)]; [super initWithShape:shape 文件:@"TractorTireBack.png"];
但是我将如何将两个形状附加到这张图片上呢?其中一种形状位于顶部,另一种位于底部。
cocos2d-iphone - 帮助为良好的游戏设计逻辑设置层(涉及 SpaceManager 物理、音乐和游戏逻辑)
我正在创建我的第一个 iPhone 游戏——我有 OOP 的背景,尤其是 C++,所以我有一些关于如何在保持功能的同时最好地逻辑设置层的问题。
目前我希望我的游戏具有三个主要层:
- HUDLayer(屏幕上的所有静态对象都在这里 - 游戏控件、用户得分、暂停按钮等)
- PlayLayer(播放器,主游戏循环和所有游戏逻辑)
- 关卡层(玩家与之交互的关卡图像和关卡物理对象,以及特定于该关卡的背景音乐)
请注意,我在这里使用了 WANT 这个词——因为在我的一生中,我必须不断地移动逻辑对象,只是为了在 Cocos2d 和 spacemanagers 结构中工作。
以下只是我面临的一些问题
- 我希望我的 PlayLayer 成为导演加载的场景 - 但如果我这样做了,那么所有 HUDLayer 对象都会被 PlayLayer 覆盖,并且不会像应有的那样保持原位,因此 HUDLayer 是我的场景,我不得不这样做只是为了让它工作
- 我想在 LEVEL 层播放背景音乐(通过 simpleAudioEngine playBackgroundMusic),因为我希望不同的关卡有不同的音乐。到目前为止,我让背景音乐起作用的唯一方法是将它放在最顶层,即在这种情况下是 HUDLayer
- 因为我必须使用 SpaceManagerCocos2d 对象的实例来创建物理实体 - 似乎我的关卡层必须被杀死并被合并到我的 PlayLayer 中,否则我会做噩梦来检测两者之间的碰撞球员和水平。
我在这里遗漏了一些非常明显的东西吗?对我没有得到的层有核心理解吗?我越来越觉得我被框架推动在一个类中构建整个游戏,并且只是将层用作场景。
还有其他人有这些问题吗?我接近游戏的架构错了吗?任何帮助将不胜感激。
提前谢谢各位!
cocos2d-iphone - 多个 cpShapes(花栗鼠)
所以我创建了两个形状(确切地说是多边形),我需要能够将它们附加到单个 CCSprite/图像,并让它们保持在我创建它们的位置。有没有办法做到这一点?
所以简而言之,这就是我想要实现的目标。
- 我有一个轮胎(CCSprite/image),我创建了 2 个多边形/cpShapes,一个用于轮胎的顶部,一个用于轮胎的底部,这样当用户扔足球时,它只能穿过它的中心。
- 我需要将顶部聚合物连接到轮胎顶部,将底部聚合物连接到轮胎底部
- 我还需要能够在轮胎上使用碰撞。例如,如果用户扔足球并撞到轮胎底部,我需要能够使轮胎前后摇摆,两种形状都随之移动。
所以我的问题实际上只是如何将两个 cpShapes 附加到一个图像/CCSprite?
我已经创建了这样的形状:
PS我正在使用spaceManager + 花栗鼠
iphone - SpaceManager Cocos2d 中的对象是否在移动?
如何检测空间中的那个物体当前是否稳定以及他的位置。哪个参数为我们提供了相关信息或有任何功能?
xcode - 让 Cocos2d Box2d/Chipmunk 模板与 Xcode 4 一起工作
我刚刚按照 cocos2d 站点上的步骤安装了最新的 xcode 4 项目模板,但是每次我尝试创建一个 Chipmunk/Box2d 项目时它都无法构建,说明有大约 26 个问题。
我对此进行了一些阅读,发现 Xcode 4 改变了处理模板的方式,这导致了这个问题,但我还没有找到解决这个问题的方法。
任何帮助,将不胜感激!
安迪
cocos2d-iphone - 碰撞回调问题(chipmunk + spaceManager)
我试图给用 addWindowContainmentWithFriction 创建的底墙一个碰撞回调,我不知道我是否做错了。这就是我一直在尝试的方式。
我做错了什么,因为它没有回应。kFootballCollisionType 是我在代码的其他地方使用的一种碰撞类型。
ruby - 在 Ruby 中使用 Chipmunk 和 Gosu 绘制多边形
我是游戏开发的新手,我认为一起尝试 Gosu、Ruby 和 Chipmunk 会很有趣。到目前为止,我在 2d Top-Down 场上有一个球员和一个球,它们发生了碰撞。我现在的问题是我希望我的球员是一个正方形。
我在高中时数学很烂,那是太多年前的事了。Chipmunk 的文档说明了如何绘制多边形:
我现在有这个代码来获取我的多边形:
这最终给了我一个附加到我的方形 png 的形状,但它看起来好像 0,0 是图像的左上角,而实际的多边形开始于图像的左上角甚至更远。
所以我认为我应该将“偏移”设置为多边形宽度的一半,但这并没有给我正确的结果。
我敢肯定,对于这里的大多数人来说,这是基本的。但在游戏开发方面,我仍然处于初级阶段。
有人可以向我解释一下吗?
编辑
这是我截至 2011 年 5 月 28 日的完整代码
join - 花栗鼠:如何使物体相互碰撞后粘在一起
嗨,我在我的 cocos2d 项目中使用花栗鼠。我有两个物体,当它们碰撞时,我喜欢它们像一个物体一样连接在一起并一起移动?我怎样才能做到这一点?
谢谢
iphone - 在 Cocos2d 中使用 CCSprites
我想知道是否有人知道我将如何将 a 附加CCSprite
到 acpConstraint
并使其与物理更新。这是我的代码:
这是该init
方法的代码。我在屏幕上有一个轮胎,你可以看到有cpConstraint
一根绳子,它从屏幕顶部悬挂并连接到轮胎顶部。我想以某种方式将 a 附加CCSprite
到这个约束上,让它随着轮胎的摆动而更新,或者如果有另一种使用 a 的方法CCSprite
,让它随着轮胎的摆动而更新。
我正在使用 cocos2d + spaceManager。我听说人们说只使用 aCCSprite
并使用轮胎运动来更新它,但我对 cocos2d 或 spaceManger 不够熟悉来实现这一点,所以如果有人有一些代码片段或教程向我展示我该如何去做,我非常感谢。
cocos2d-iphone - 创建 CCSprite 并将它们用作绳索
我的屏幕上有一个轮胎,我想将一根绳子连接到轮胎顶部和屏幕顶部。我已经使用花栗鼠+spaceManager 将物理融入到我的游戏中,所以我需要了解这根绳子如何对物理做出反应。我只需要它在被撞击时与轮胎一起来回移动。到目前为止,我已经使用 cpConstraintNode 绘制了一条线以将其用作绳索,但是我所看到和研究的所有内容都无法将 CCSprite 附加到约束。所以我的问题是,我将如何制作这条绳索并让它在移动时的反应与轮胎相同?这是我对约束所做的代码:我正在使用 cocos2d 和花栗鼠 + spaceManger