标签: andengine

为什么我会收到错误'频道无法恢复,将被处理!'

当我尝试启动我的AndEngine活动时,我收到此错误:

ERROR/InputDispatcher(21374): channel '4122e148 my.package.AcGame (server)' ~ Channel is unrecoverably broken and will be disposed!
Run Code Online (Sandbox Code Playgroud)

该应用程序不会崩溃,但有一个黑屏,设备不会按下"后退"或"主页"按钮.

有谁知道问题是什么?

android andengine

92
推荐指数
6
解决办法
9万
查看次数

跨多种活动的Android全面防故障音乐服务

我知道这个问题已经被问了很多次,可能似乎是几个问题堆集,但我觉得这是相关的,重要的是许多开发人员; 我需要Service为我的Android游戏创建一个可以运行多个活动的背景音乐,这些活动在应用程序终止时结束,并在以下所有情况下暂停:

  1. 一个Activity有自己音乐的东西就开始了.(Activity完成时完成.这恰好是一项AndEngine活动.)
  2. 按下主屏幕,应用程序背景,或终止应用程序.应用程序返回前台时恢复.需要使用onUserLeaveHint().另一个有用的链接
  3. 手机接到电话并中断应用程序.处理呼叫时恢复.需要使用TelephonyManager类似于.
  4. 屏幕已锁定.(简历屏已经被解锁后)需要使用的ACTION_USER_PRESENT,这似乎 非常 有问题的.
  5. 基本上,只要没有显示应用程序或者向用户显示来自#1的特殊活动,音乐就会暂停.

以上是我需要的所有内容以及我拼凑在一起的信息.我目前的代码基本上类似于.

我发现很奇怪,AndEngine他们的音乐没有这些问题,所以也许查看源代码可以帮助寻找答案的人.我正在使用Google Code的最新功能GLES1版本.

我已经看过以下链接以及创建好音乐Service:

我想解决方案Service:

  • BroadcastReceivers尽可能减少使用和Android Manifest添加/权限的最小化
  • 自包含和错误检查

其他说明

  • 目前,所有需要背景音乐的活动都扩展了一个共同的特殊课程.
  • 音乐需要循环,但只运行一个轨道.

提前感谢大家!祝你好运!

编辑 - 这是代码片段,随意改进或忽略:

媒体播放器包装

import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.preference.PreferenceManager;
import android.util.Log;

public class CarefulMediaPlayer {
    final SharedPreferences sp;
    final MediaPlayer mp;
    private …
Run Code Online (Sandbox Code Playgroud)

service android background playback andengine

25
推荐指数
1
解决办法
2644
查看次数

如何将arrayList的元素传递给variadic函数

我有一个填充了元素的arrayList.我想将该数组列表的元素作为参数传递给可变参数函数.

我的功能

public SequenceEntityModifier(final IEntityModifier... pEntityModifiers)
Run Code Online (Sandbox Code Playgroud)

我的ArrayList

ArrayList<IEntityModifier> arr = new ArrayList<IEntityModifier>();
arr.add(new MoveXModifier(1, 50, 120));
arr.add(new MoveXModifier(1, 120, 50));
Run Code Online (Sandbox Code Playgroud)

我想将它传递给函数,好像我会单独传递它们一样.

new SequenceEntityModifier( /* elements of arr here */ );
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

提前致谢.

java collections variadic-functions andengine

21
推荐指数
1
解决办法
7202
查看次数

如何显示双色背景的文字?

我需要为Android创建一个应用程序,其中双色文本将显示在双色背景上.见左图.然后,应该用动画移动线条,结果图像应该在右边的图片上.

我有以下问题:

  1. 我应该使用一些2d引擎来做到这一点吗?或者,使用标准视图是否可以?怎么做?
  2. 如何在图片上绘制文字?

PIC1 --------- PIC2

android andengine libgdx android-view

19
推荐指数
3
解决办法
954
查看次数

游戏开发,移动相机时奇怪的图像效果

我正在使用AndEngine开发Side Scroll 2D游戏

游戏图像

我正在使用他们的SVG扩展(我正在使用矢量图形)

但是我发现奇怪而丑陋的效果,同时移动我的播放器(相机正在追逐播放器,意味着相机正在改变它的位置)

我精灵的图像看起来完全不同,它们就像是模糊的,或者像那些图像会移动的效果(不改变它们的位置,只是抖动效果,真的很难解释并正确地调用这个效果)希望这个图像可以解释一下:

游戏图片2

它或多或少,它在游戏中看起来如何:

a)"FIRST"图像显示正方形,而玩家正在移动(CAMERA不是)图像看起来应该如此

b)"SECOND"相同的图像,但具有这种奇怪的效果"在相机移动期间看起来像图像移动/模糊[追逐玩家])

我的朋友告诉我,这可能是硬件问题:

"你注意到的模糊实际上是一个硬件问题.一些手机"平滑"屏幕上的内容,给应用程序带来更好的感觉.我不知道它是屏幕还是图形处理器,但它不会发生在我妻子的三星Captivate上.它发生在我的Atrix和Xoom上.由于屏幕尺寸很大,它在Xoom上真的很明显."

但似乎有办法阻止它,因为我已经测试了许多类似的游戏,相机正在追逐玩家,我无法注意到这种效果.

有没有办法在代码中关闭它?


我很遗憾以前的答案,遗憾的是,仍存在问题.

直到现在,我已经尝试过:

  • 在正在updateChaseEntity上执行的setCenter方法上转换(int)
  • 使用PNG图像测试游戏,而不是SVG扩展和矢量图形
  • 不同的TextureOptions
  • hardwareAcceleration

如果有人有不同的想法,可能会产生这种奇怪的效果,我会非常感谢你的帮助 - 谢谢.

java android andengine

17
推荐指数
1
解决办法
1945
查看次数

如何创建一个有数字的圆圈?

我正在使用AndEngine编写Android游戏.我想创建一个有数字的圆圈,如下图所示:

java android andengine

14
推荐指数
1
解决办法
9363
查看次数

Andengine淡入/淡出和alpha修饰符不起作用

我有AndEngine GLES2的问题.

我有这个代码:

Sprite black = new Sprite(0,0, blackRegion, this.getVertexBufferObjectManager());
black.setSize(CAMERA_WIDTH, CAMERA_HEIGHT);

black.registerEntityModifier(new AlphaModifier(2, 0, 255));

mScene.attachChild(black);
Run Code Online (Sandbox Code Playgroud)

所以它不起作用.什么都没有......

我需要做什么?

android alpha fade andengine andengine-gles-2

12
推荐指数
1
解决办法
7095
查看次数

在Eclipse中安装AndEngine

我想安装AndEngine ...我遇到了一些视频,告诉你如何安装它.但这些视频是去年完成的,从那以后,安装它的方法发生了变化.至少他们在这些视频中的表现方式......任何人都知道新的扩展或我可以遵循的一些新教程......

eclipse android andengine

12
推荐指数
2
解决办法
4万
查看次数

视差XY和旋转 - 平铺计算

我有这个代码用于绘制我的视差背景

pGLState.pushModelViewGLMatrix();
final float cameraWidth = pCamera.getWidth();
final float cameraHeight = pCamera.getHeight();
final float shapeWidthScaled = this.mShape.getWidthScaled();
final float shapeHeightScaled = this.mShape.getHeightScaled();

//reposition

float baseOffsetX = (pParallaxValueX * this.mParallaxFactorX);
if (this.mRepeatX) {
    baseOffsetX = baseOffsetX % shapeWidthScaled;
    while(baseOffsetX > 0) {
            baseOffsetX -= shapeWidthScaled;
    }
}

float baseOffsetY = (pParallaxValueY * this.mParallaxFactorY);
if (this.mRepeatY) {
    baseOffsetY = baseOffsetY % shapeHeightScaled;
    while(baseOffsetY > 0) {
        baseOffsetY -= shapeHeightScaled;
    }                              
}

//draw

pGLState.translateModelViewGLMatrixf(baseOffsetX, baseOffsetY, 0);
float currentMaxX = baseOffsetX;
float currentMaxY = …
Run Code Online (Sandbox Code Playgroud)

java math android opengl-es andengine

12
推荐指数
1
解决办法
749
查看次数

使用AndEngine GLES2在游戏中使用Sprites的最佳实践

目前我正在对我的所有精灵进行静态引用,并在SimpleBaseGameActivity的OnCreateResource方法中加载和初始化它们,但是现在我必须在spirtes上覆盖onAreaTouched监听器以及在初始化Sprite时我可以覆盖它的方式.但我有一个静态方法为每个精灵创建Atlas和Texture Region.我在我的场景类中使用这些精灵,我想在那里覆盖onAreaTouched.我可以在我的场景中为特定的精灵注册TouchArea,这样就可以完成但是我想以某种方式覆盖OnAreaTouched,以便可以完成代码的可重用性.这是我目前正在创建和加载精灵的方式.

defualtCageSprite = createAndLoadSimpleSprite("bg.png", this, 450, 444);
Run Code Online (Sandbox Code Playgroud)

这是我的方法createAndLoadSimpleSprite.

public static Sprite createAndLoadSimpleSprite(String name,
        SimpleBaseGameActivity activity, int width, int height) {

    BitmapTextureAtlas atlasForBGSprite = new BitmapTextureAtlas(
            activity.getTextureManager(), width, height);
    TextureRegion backgroundSpriteTextureRegion = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(atlasForBGSprite, activity, name, 0, 0);
    Sprite sprite = new Sprite(0, 0, backgroundSpriteTextureRegion,
            activity.getVertexBufferObjectManager());
    activity.getTextureManager().loadTexture(atlasForBGSprite);

    return sprite;
}
Run Code Online (Sandbox Code Playgroud)

现在,如何在不丢失代码可重用性的情况下覆盖某些精灵的onAreaTouched.

java code-reuse android opengl-es-2.0 andengine

11
推荐指数
1
解决办法
3384
查看次数