问题标签 [andengine]

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

graphics - 坐标系和精灵变换

我正在使用 andengine 通过 box2d 创建物理模拟。

身体是通过 PhysicsFactory 使用 Sprites 创建的。

我的想法是按照以下模式在程序上定位这些精灵:围绕 externalPoint 旋转

基本上是一个代表我的世界坐标中心的中央精灵,以及一系列通过围绕 myWorld 中心(圆圈内的“X”)旋转基础精灵而创建的克隆精灵。

我尝试在 andengine 内部使用 opengl 方式(翻译、旋转、反向翻译)

但我失败了:结果不正确(最终位置错误,box2d body 属性错误,好像精灵比图像大得多)

我相信问题的一部分取决于我对setRotationand的解释setRotationCenter,并且通常取决于我对 andengine 坐标系统 + box2d 坐标系统的理解。

任何想法/链接到文档/解释?

0 投票
1 回答
2080 浏览

android - Android:AndEngine - AnimatedSprite 纹理尺寸太大?

抱歉,如果之前有人问过这个问题,但我找不到对它的引用,尝试开始使用 andEngine 并且我正在尝试使用 3360x720 的图像,因为它平铺了 7 列。我试过这个方法:

现在,当我制作动画并将其附加到场景中时,我得到的只是一个白屏?对于这个操作来说,纹理是否太大,如果是这样,我应该如何处理一个简单的小动画,例如出现一秒钟的闪电?我希望这是一个实际的动画精灵,而不是我手动设置背景图像.. 任何帮助都会得到帮助,谢谢

[新信息] 我几乎可以肯定这与每部手机可以处理的尺寸有关。我已经通过将图像大小调整为 1024x720、2048x720 和再次调整为 4096x720 来测试这一点。保持我的精灵大小与 480x720(相机大小)相同,并且对于前两列的任意数量的列都可以正常工作,但 4096px 仅显示白屏。哦,好吧,如果有人找到解决这个问题的方法,请告诉我,因为现在我可能只是手动调整我的“动画”src 图像。

从那以后,我发现当你的纹理超过 1024x1024 时,你就有可能无法显示它,假设每部手机都不同。因此,我只是简单地减慢帧速率并使用较小的图像进行平铺。

0 投票
1 回答
2975 浏览

java - android ArrayList IndexOutOfBoundsException

我正在用 AndEngine 制作一个安卓游戏。我有一个精灵数组列表,每次更新时我都想检查玩家精灵是否与其中任何一个发生碰撞。但是这段代码的摘录让我很头疼:

看起来很基本,但不知何故sprites.get(i)抛出这个:

尽管如此i<sprites.size(),我还是以某种方式达到了sprites.size(). 我在每次迭代中都输入了日志消息,说明了 arraylist 的大小和 i 的当前值,这似乎是正确的:

...紧随其后的是异常。

所以我被难住了,这怎么可能发生?

0 投票
1 回答
829 浏览

java - AndEngine 和 Android:在 for 循环中的 OnAreaTouched 不保持唯一

我第一次使用andengine for android。我正在创建一个简单的文本列表,它只需要能够调用相同的方法,但根据其在列表中的位置发送不同的变量。该列表不需要滚动并且很短。我决定使用简单的文本并创建一个 for 循环,以便从字符串数组中为我制作它们。

循环正常工作并正确创建文本,但是在触摸时它们都执行最后一次触摸分配而不是相应的分配。

是否需要引用 onAreaTouched 代码,或者它是否保存在触摸区域注册后的某个位置。

这里是:

0 投票
6 回答
5991 浏览

android - Andengine 屏幕上的暂停按钮

我想在 andengine 中创建一个屏幕暂停按钮

我现在要做的是添加一个精灵,当我触摸它时,我会执行 engine.stop(),这个问题是引擎在我恢复游戏之前不会处理更多的触摸事件(现在我使用菜单按钮这个),那么有没有办法实现它?

谢谢!

0 投票
1 回答
303 浏览

java - Java:在匿名操作处理程序中获取“this”的正确上下文

我注意到我正在查看的一段代码,作者使用了:

请注意他过去MainClass.this如何获得“this”的正确上下文以将范围更改回MainClass. 我以前从未见过这样做过-有人可以解释吗?

0 投票
2 回答
2266 浏览

android - AndEngine:注册和注销物理连接器的问题

问题是:我有一个图,它既有精灵又有身体。这个数字是可拖动的,在触摸事件的 Action Down 上,我需要断开主体,以便在拖动时不会与其他主体发生碰撞。然后在 Action Up 身体应该连接到精灵。我定义了两种方法来解决这个问题。

但是,这不起作用。当我拖动图形时,它会与其他图形发生碰撞。谁能帮我解决这个问题?提前非常感谢。

0 投票
3 回答
5751 浏览

android - 触摸事件的Android AndEngine问题

我正在学习andEngine并尝试根据一些示例制作一个简单的游戏。我的问题是游戏在某些随机时刻停止,我只能使用后退按钮;/我使用 logcat 发现问题,这里是日志:

/释放键'

I/DEBUG (2656): pid: 4918, tid: 4926 >>> com.homework.mygame <<< I/DEBUG (2656): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 3f8191d 4 I/调试(2656):R0 00000000 R1 00000000 R2 3F800000 R3 000191D4 I/DEBUG(2656):R4 00140A30 R5 00149978 R6 R6 R6 449D9B18 R7 44DBE008 I/DEBUG(2656):R8 449D9B4449D9B449D9B449B449B449B449B449B449B449B449B449B449B449B449B449B

I/DEBUG (2656): ip 00000000 sp 449d9b00 lr 8062eeb8 pc 806189b8 cpsr 600 00010 I/AndEngine(4918): org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 3 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 3 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 4 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 4 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,有 5 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine。util.pool.PoolUpdateHandler$1 已用完,还有 5 个项目尚未回收。再分配1个。I/AndEngine(4918): org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,有 6 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 6 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,有 7 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,有 7 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 8 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev。andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 8 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 9 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 9 个项目尚未回收。再分配1个。D/dalvikvm(929):Cronos GC_EXTERNAL_ALLOC 释放 166K,55% 空闲 2686K/5895K,外部 905K/987K,暂停 268ms I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,有 10 件物品尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 10 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input。touch.TouchEvent$TouchEventPool 已用尽,还有 11 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 11 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 12 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 12 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 13 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 13 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev。andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 14 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 14 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 15 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 15 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 16 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 16 个项目尚未回收。分配 1 更多 e。我/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 17 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 17 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 18 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 18 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 19 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 19 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 20 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 20 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 21 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 21 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 22 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 22 项尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 23 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 23 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 24 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 24 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 25 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,有 25 件物品尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 26 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 26 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 27 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 27 个项目尚未回收。分配 1 更多 e。D/dalvikvm(929):Cronos GC_EXTERNAL_ALLOC 释放 10K,55% 空闲 2686K/5895K,外部 905K/927K,暂停 294ms D/dalvikvm(929):Cronos GC_EXTERNAL_ALLOC 释放 5K,55% 空闲 2686K/5895K,exte 1016K,

00 个 000189b8 /data/data/com.homework.mygame/lib

/libandenginephysicsbox2dextension.so (_ZN6b2Body13CreateFixtureEPK12b2FixtureDe f) I/DEBUG (2656): #01 pc 0000bfbc /data/data/com.homework.mygame/lib /libandenginephysicsbox2dextension.so (Java_com_badlogic_gdx_physics_box2d_Body_jniCreate/DEBUG__JJFFZFFSSS)
(2656):#02 pc 00011d74 /system/lib/libdvm.so I/DEBUG(2656):I/DEBUG(2656):PC 周围的代码:I/DEBUG(2656):80618998 eb00595d e3500000 0a000001 e1a00004 I/DEBUG( 2656):806189a8 ebfffd9f e594205c e3a03a19 e2833f75 I / DEBUG(2656):806189b8 e7921003 e1a00005 e3811001 e7821003 I / DEBUG(2656):806189c8 e8bd81f0 e594105c e1a00005 e284200c I / DEBUG(2656):806189d8 e2811a19 e2811f76 eb0003ae eaffffe2 I / DEBUG(2656) :i/debug(2656):LR周围的代码:I/DEBUG(2656):8062EE98 E51D0004 E12FFF1E E1A0C000 E1A00001 I/DEBUG(2656):8062EEA8 E1A0100100100C EAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE e92d400febfffFFFEFFFFEFFFEFFFE(26500 000)EB.26551 i/debug(2655 ebug)i/debug ebug ebug(265,2651 i/debug)调试(2656):8062eec8 ebfffff8 03a00001 13a00000 e49df008 I/调试(2656):8062eed8 e52de008 ebfffff3 33a00001 23a00000 I/DEBUG(2656):I/DEBUG
(2656):堆栈:I/DEBUG(2656):
449d9ac0 43707d58 I/DEBUG(2656):449d9ac4 43707d40 I/DEBUG(2656):449d9ac8 449d9ed8 I/DEBUG(2656):449d9acc/homework/data .mygame/lib/li bandenginephysicsbox2dextension.so I/DEBUG (2656): 449d9ad0 00149978 I/DEBUG (2656):
449d9ad4 449d9b18 I/DEBUG (2656): 449d9ad8 0000ffff I/DEBUG (2656): 449/dBEadG (2656): 449/dBEadG (2656): 449/dBEadG ):449d9ae0 00000001 I / DEBUG(2656):449d9ae4 00000000 I / DEBUG(2656):449d9ae8 00000000 I / DEBUG(2656):449d9aec 421cf249 I / DEBUG(2656):449d9af0 bf800001 I / DEBUG(2656):449d9af4 8062ef1c / data/data/com.homework.mygame/lib/li bandenginephysicsbox2dextension.so I/DEBUG (2656): 449d9af8 df002777 I/DEBUG (2656):
449d9afc e3a070ad I/调试(2656):

00 449d9b00 ffffffff I/DEBUG(2656):449d9b04 00000000 I/DEBUG

(2656): 449d9b08 80632718 I/DEBUG (2656): 449d9b0c 43707d84 I/DEBUG (2656):
449d9b10 449d9b6c I/DEBUG (2656): 449d9b14 8060bfc0/data/dataengine.我/调试(2656):#01 449d9b18 80632718 我/调试(2656):
449D9B1C 0016A928 I/DEBUG(2656):449D9B20 00000000 I/DEBUG(2656):449D9B24 00000000 I/DEBUG(2656):449D9B28B28B28B28 0000000000 I/DEBUG(2656):449B2C2C2C2C2C.449B2C.449B2C.449DCCORI00 00449B2C.449DCCOR I/449DCCORI00 000B2C 0049B2C.449DCORIS (2656):449D9B34 0000FFFF I/DEBUG(2656):449D9B38 449D9B90 I/DEBUG(2656):449D9B3C 00000003 I/DEBUG(2656) I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 28 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 28 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,有 29 件物品尚未回收。再分配1个。D/dalvikvm(602):Cronos GC_EXTERNAL_ALLOC 释放 257K,40% 空闲 6266K/10311K,外部 1546K/1581K,暂停 445ms I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽, 29 件物品尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 30 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 30 个项目尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 31 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,有 31 件物品尚未回收。分配 1 更多 e。I/AndEngine(4918):org.anddev.andengine.input.touch.TouchEvent$TouchEventPool 已用尽,还有 32 个项目尚未回收。再分配1个。I/AndEngine(4918):org.anddev.andengine.util.pool.PoolUpdateHandler$1 已用尽,还有 32 个项目尚未回收。分配 1 更多 e。D/dalvikvm(929):Cronos GC_EXTERNAL_ALLOC 释放 11K,55% 空闲 2685K/5895K,外部 726K/889K,暂停 139 毫秒 D/dalvikvm(929):Cronos GC_EXTERNAL_ALLOC 释放 10K,55% 空闲 2686K/5895K/7766 749K,暂停 140 毫秒 D/dalvikvm(929):Cronos GC_EXTERNAL_ALLOC 释放 5K,55% 空闲 2685K/5895K,外部 920K/1016K,暂停 138 毫秒 D/dalvikvm(602):Cronos GC_EXTERNAL_ALLOC 释放 346/10,431%K,6外部 1403K/1470K,暂停 343ms I/BootReceiver(602):复制 /data/tombstones/tombstone_02 到 DropBox (SYSTEM_TOMBSTONE) E/InputDispatcher(602): channel '408f3600 com.homework.mygame/com.homework.mygame.com.homework.mygame (server)' ~ 消费者关闭输入通道或发生错误。events=0x8 E/InputDispatcher(602): channel '408f3600 com.homework.mygame/com.homework.mygame.com.homework.mygame (server)' ~ 频道已经不可恢复地被破坏了,将被处理掉!D/Zygote(565):进程 4918 被信号(11)终止 D/dalvikvm(602):Cronos GC_FOR_MALLOC 释放 123K,39% 空闲 6384K/10311K,外部 958K/1470K,暂停 141ms I/dalvikvm-heap(602) :为 161568 字节分配 D/dalvikvm(602)将堆(碎片情况)增加到 9.928MB:Cronos GC_FOR_MALLOC 释放 3K,38% 可用 6538K/10503K,外部 958K/1470K,

所以我想这是因为 onAreaTouched 函数。我用它来控制一个玩家,有2个箭头,我们可以触摸它们来从左到右移动玩家。我做得对还是应该以其他方式做?这是我的代码:

提前致谢

格雷格

0 投票
2 回答
3046 浏览

java - Android - Math.atan2 的问题

因此,在我使用andengine 制作的android 游戏中,我对其进行了设置,以便当我触摸并拖动玩家精灵时,它会不断旋转,以便角色始终面向其行进的方向。

关键是这样的:

它采用最后一个已知坐标和当前坐标,计算它们之间的角度,并将其从弧度转换为度数。好吧,昨天一切正常,但是尽管今天没有更改任何代码,但它的行为很奇怪。精灵的方向变化不规律,没有明显的模式。如果我沿直线移动它,它会在 2 或 3 个明显不同的角度之间不断交替(通常其中一个是正确的角度)。

编辑:已解决,见下文

0 投票
1 回答
342 浏览

android - Box2d collisions (android AndEnigne)

I learn AndEngine and trying to make a simple game. I use physics engine box2d and need to make 2 objects in physicsworld that will be able to pass through him self and won't be able to penetrate rest of objects in this world. Is it possieble ?

Thanks in advance

Greg.