问题标签 [box2d-iphone]
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.
iphone - Cocos2D 相机运动?
我将屏幕居中以跟随角色的最佳方式是什么?我应该使用CCCamera
还是只是移动背景?
我是 cocos2d 的新手,所以请告诉我确切的代码。
顺便说一句:我也在这个项目中使用 box2d。
谢谢
iphone - 如何将 CCSprite(纹理)添加到多边形?
我正在将 Box2D 多边形添加到我的世界中,但我不知道如何仅将纹理添加到多边形形状。多边形是一个三角形,在初始化我的精灵时使用 CGRectMake() 作为 rect: 参数给我一个比我的多边形更大的精灵。
这是我在场景中添加多边形(弹簧)的方法
这是类中的方法,我在其中启动弹簧和弹簧精灵。
如何为多边形初始化带有纹理的精灵?并且只让多边形的形状有质感?谢谢!
iphone - Box2d SetLinearVelocity 不适用于重力
我的 box2d 世界中有一个身体(玩家)。
每当我尝试设置它的 x 速度(每 2 秒或其他)并且它由于重力而下降时,它会上下抖动。
我还尝试将它的 y 速度设置为等于重力(-30.0f),但它做得更糟。
特维姆。
cocos2d-iphone - 尝试使用 DebugDraw 时使用 Cocos2d 和 Box2d 获取 EXC_BAD_ACCESS
这件事让我发疯了!
我正在尝试使用 Cocos2d (0.99.5) 和 Box2D,并且我已经成功创建了一个包含一个图层和两个物体(实际上是几个弹跳球)的场景。现在我想启用 DebugDrawing,这样我就可以确切地看到正在发生的事情。考虑到在禁用 DebugDrawing 的情况下一切正常。
谈到代码,在我的 init 方法中我有这个:
我的绘制方法如下:
问题是当程序到达该行时
抛出一个 EXC_BAD_ACCESS 异常。调试器在此处显示错误:
主窗口显示的错误是:“线程 1:程序接收信号:'EXC_BAD_ACCESS'”。这是我得到的输出:
GNU gdb 6.3.50-20050815(Apple 版本 gdb-1515)(2011 年 1 月 8 日星期六 00:31:48 UTC)版权所有 2004 Free Software Foundation, Inc.
GDB 是自由软件,受 GNU 通用公共许可证保护,欢迎您在特定条件下更改和/或分发它的副本。
键入“显示复制”以查看条件。
GDB 绝对没有任何保证。键入“显示保修”以获取详细信息。
此 GDB 配置为“--host=x86_64-apple-darwin --target=arm-apple-darwin”.tty /dev/ttys000 target remote-mobile /tmp/.XcodeGDBRemote-191-40
切换到 remote-macosx 协议
内存 0x1000 0x3fffffff 缓存
内存 0x40000000 0xffffffff 无
内存 0x00000000 0x0fff 无
[切换到线程 11779]
[切换到线程 11779]
共享库应用加载规则全部
2011-03-03 22:10:36.477 MyApp [2738:707] cocos2d: cocos2d v0.99.5
2011-03-03 22:10:36.529 MyApp [2738:707] cocos2d:使用导演类型:CCDirectorDisplayLink
2011-03-03 22:10:36.936 MyApp [2738:707] cocos2d:操作系统版本:4.3 (0x04030000)
2011-03-03 22:10:36.943 MyApp[2738:707] cocos2d: GL_VENDOR: Imagination Technologies
2011-03-03 22:10:36.949 MyApp[2738:707] cocos2d: GL_RENDERER: PowerVR SGX 535
2011-03-03 22:10:36.956 MyApp [2738:707] cocos2d: GL_VERSION: OpenGL ES-CM 1.1 IMGSGX535-58.1
2011-03-03 22:10:36.966 MyApp[2738:707] cocos2d: GL_MAX_TEXTURE_SIZE: 2048
2011-03-03 22:10:36.973 MyApp[2738:707] cocos2d: GL_MAX_MODELVIEW_STACK_DEPTH: 16
2011-03-03 22:10:36.979 MyApp[2738:707] cocos2d: GL_MAX_SAMPLES: 4
2011-03-03 22:10:37.020 MyApp[2738:707] cocos2d:GL 支持 PVRTC:是
2011-03-03 22:10:37.026 MyApp [2738:707] cocos2d:GL 支持 BGRA8888 纹理:是
2011-03-03 22:10:37.033 MyApp[2738:707] cocos2d:GL 支持 NPOT 纹理:是
2011-03-03 22:10:37.039 MyApp[2738:707] cocos2d: GL 支持discard_framebuffer: 是
2011-03-03 22:10:37.060 MyApp[2738:707] cocos2d:编译时支持 NPOT:否
2011-03-03 22:10:37.066 MyApp [2738:707] cocos2d:在 TextureAtlas 中使用 VBO 支持编译:是
2011-03-03 22:10:37.072 MyApp [2738:707] cocos2d:在 CCNode 中使用仿射矩阵变换编译:是
2011-03-03 22:10:37.078 MyApp [2738:707] cocos2d:编译时使用分析支持:否
2011-03-03 22:10:44.375 MyApp[2738:707] cocos2d:帧间隔:1
2011-03-03 22:10:44.420 MyApp[2738:707] cocos2d:表面尺寸:320x480
2011-03-03 22:10:44.654 MyApp [2738:707] 收到内存警告。等级=1
2011-03-03 22:10:44.696 MyApp [2738:707] cocos2d:解除分配
)>
当前语言:自动;目前c++
(gdb)
我试过谷歌搜索,我发现了很多关于这个错误的事情,但我仍然无法解决它。它发生在模拟器和 iPhone 上。在另一个讨论中(对不起,链接丢失)指出这可能与编译器或优化有关,因此我尝试了从 LLVM 切换到 GCC 到 LLVM-GCC 的不同组合,并将优化设置在不同级别,但没有成功。
有人可以指出我正确的方向吗?如果需要更多信息,请告诉我。
谢谢大家,
丹尼尔·萨拉蒂
cocos2d-iphone - Box2d 中快速移动的物体有时会相互穿过
我知道 Box2d 世界中快速移动的物体会引起隧道效应并相互穿过。解决方案是将实体定义为子弹。我这样做了,但身体有时仍然相互交叉,特别是如果遇到点不完全朝向中间并且身体在交叉时部分重叠。有什么解决办法吗?
这就是我制作所有身体的方式:
我在 TouchesEnd 中将这个球移动为:
就是简单地计算触球点到球的距离,根据距离找到对球施加的力量,然后将球向触球方向移动。这个球与任何其他进入它的球相撞。
ios - cocos2d/box2d 麻烦
我刚刚开始为 iOS SDK 使用 cocos2d 和 box2d,并且遇到了一些问题。我让模板工作,并让测试应用程序(单击屏幕并出现一个带有随机字母的框的应用程序)进行编译。
我的第一个问题是我不知道如何获得空白模板。当我开始一个新的应用程序时,有没有一种快速的方法来做到这一点?
我的第二个问题是我无法弄清楚如何简单地更改对象的颜色。我可以这样定义:
但是有没有一种简单的方法可以使某物具有某种颜色?
最后一个问题:这个示例应用程序是否启用了加速计重力?
谢谢!
box2d - 如何在 Box2D 中防止球粘在墙上?
我正在尝试使用 box2d。我似乎有一个人们形容为粘墙的问题
我有一个球和一个桨
我正在使用我能找到的所有基本推荐尺度,10m 世界,1m 球
球具有以下特性:
用来移动球的桨是1.5m,它具有以下特性: 形状:
如您所见,所有对象的摩擦力均为 0。
球经常被卡在墙上滚动或完全卡在 90 度角
我在想我可以检测到与墙壁的碰撞并触发 applyLinearImpulse 将球从墙上移开。
objective-c - 通过添加两个 CGPoints 的距离来找到 CGPoint
我有两个 CGPoints A 和 B。A 和 B 之间的距离可以用 ccpDistance(A,B) 找到。
有了这些信息,我需要通过将小距离添加到 AB 的距离中来以编程方式找到 X 的 CGPoint(x,y)。AB可以在水平,垂直,对角线或任何方向上制作连接线。目的是延长假想线并在其末端找到一个点。
是否可以在 iOS 的 Box2D 中使用?如果是,那么如何?
cocos2d-iphone - 如何在 box2d 中实现更好的时间步长(固定或半固定)?
我想知道是否有人可以帮助我理解在 box2d 中修复我的时间步长。我试图通过实施更好的时间步来改进我刚刚发布的Bounce Z Ballz游戏(我目前使用内置的可变时间步)。我一直在阅读一些有用的信息,但我无法真正理解将类似于内置 cocos2d/box2d 模板的东西变成类似于Glenn Fiedler 的解决方案的东西。
TL;DR(我想将我的 cocos2d/box2d 游戏时间步从内置的可变时间步更改为更一致的时间步)
谢谢,
史蒂夫
objective-c - 如何根据它在box2d中的位置摧毁一个身体?
我是objective-c的新手。我目前正在使用 cocos2d 和 box2d 开发游戏。让我详细描述一下我的游戏:
在我的游戏中,我有一个主角站在建筑物的顶部。楼下就是这条路。敌人以各种随机速度从道路上经过,从右侧进入屏幕并从左侧退出。我将敌人创建为 b2_dynamicBodies 并使用 SetLinearVelocity() 为每个敌人设置随机速度。主角射击敌人。当弹丸击中敌人时,弹丸和敌人都会被摧毁。我想要做的是那些没有被射击并且移出屏幕的敌人,我想通过检查他们的坐标来摧毁这些敌人一旦他们移出屏幕。我曾尝试使用 world->DestroyBody(body),但它不起作用。请帮我解决这个问题!
ps 我没有将敌人创建为单独的不同物体,但我有一个方法可以创建一个物体并使其移动,然后我在 init 中调用了该方法,并有一个时间间隔。