2 o casper ne O_Casper_ne 于 2012.12.27 11:26 提问

AndEngine中使用 AreaTouched方法移动sprite总是延迟

我使用下面这个方法把sprite在AndEngine里面从一边移动到另一边。

Sprite player = new Sprite(PlayerX,PlayerY, this.mPlayerTextureRegion) {

   @Override
    public boolean onAreaTouched(final TouchEvent pSceneTouchEvent,
                                 final float pTouchAreaLocalX,
                                 final float pTouchAreaLocalY) {
        this.setPosition(pSceneTouchEvent.getX() - this.getWidth() / 2,
                         this.getY());
        return true;
     }
};

我发现当sprite迅速来回移动时,会有一个延迟。有时候必须重新执行触摸事件或拖拽sprite才会移动。有什么方法可以优化这个问题呢?谢谢!

1个回答

yongyong_21
yongyong_21   2012.12.27 14:16
已采纳

我从AndEngine代码中指出这个问题。
当使用 onAreaTouched()来移动 sprites时,别忘了在 LoadScene()方法的底部调用:

mScene.setTouchAreaBindingEnabled(true)
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
[AndEngine学习教程] 第5节 可触摸移动的Sprite
1.本节要点:        1.之前绘制的动画场景都是单人物的,这节主要讲解如何实现多个AnimatedSprite在共用一个BitmapTextureAtlas下的应用        2.之前的精灵动画都没有交互性的,这节要实现触摸可以拖动精灵        3.实现屏幕的多点触摸 2.Texture的创建       1.本节用到4个精灵贴图: 要合理的利用B
andengine 基本用法
 l HelloWorld 本文讲述如何使用AE创建Helloworld。相当简单,不需要有什么经验。使用的引擎为: GLES2 确认android开发环境和AE的代码都准备好了。 1. 在Eclipse中创建一个Android Project。 2.将导入的AE 工程连接成库 右键点击AndEngine-属性-Android-Library Field 3.在创建的Hel
Libgdx专题系列:对象篇 Sprite精灵的使用
第三节:Sprite精灵的使用 在上面虽然实现了对于TextureRegion的各种变换操作,但是明显感觉很繁琐, 还要自己单独写位移,放缩,旋转变量参数等, 那么libgdx有没有对这个进行封装的呢?答案是有的。 Sprite实现了这些逻辑,下面是使用精灵同样实现的代码。   public class FirstGame implements ApplicationListener {
android studio 配置andengine 开发环境带jar包
包好andengine.jar 和box2d扩展包.并且说明打包过程。
AndEngine游戏开发系列教程(一)
AndEngine基于libGDX框架开发,使用OpenGL ES进行图形绘制,底层使用C++编写,通过JNI调用来实现,因此比较高效,功能强大。同时集成了Box2D物理引擎,因此能实现一些较为复杂的物理效果。在Rokon(另一个Android 2D游戏引擎)宣布停止更新以后,AndEngine成为Android最为流行的2D游戏引擎。相较Libgdx引擎:AndEngine拥有更多的游戏组件与扩
解决在androidStudio中使用AndEngine时报错的问题
在androidStudio中使用AndEngine时,可能会出现以下两个错误: Error:(9) undefined reference to `glVertexAttribPointer' Error:(13) undefined reference to `glDrawElements' 当遇到此错误时,只需要在andEngine的build.gradle文件中的ndk节点添加  l
不要滥用CSS Sprite
CSS Sprite俗称雪碧,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用css的背景定位来显示需要显示的图片部分。 使用雪碧图的优点: 1、减少加载网页图片时对服务器的请求次数 可以合并多数背景图片和小图标,方便在任何位置使用,这样不同位置的请求只需要调用一个图片,从而减少对服务器的请求次数,降低服务器压力,同时提高了
Unity2D使用经验一则——如何让文字与Sprite一起移动
最近又这么一个需求,RPG战斗场景中头像边上要显示角色的名字、HP等信息,如下图所示: 因为每场战斗登场的角色数量不一样,需要动态确定头像的位置,所以把这个对象做成一个Prefab,生成战斗场景时Initialize。最开始时候是把头像作为Sprite,然后再在这个Sprite下添加Canvas作为子节点,Canvas下面添加Text显示名字和Image显示血条。但是这样发现名字的位置和
sprite的使用方法
1、创建方法一 Sprite *sp = Sprite::create("diyiming.png"); 2、方法二 Texture2D *textture = TextureCache::getInstance()->addImage("kaishi.png"); Sprite *sp = Sprite::createWithTexture(textture);这里get instance
【Unity】相机跟随主角移动,并带有延迟效果
相机跟随主角移动,并带有延迟效果using UnityEngine; using System.Collections;namespace CompleteProject { // 脚本使用在摄像机身上 public class CameraFollow : MonoBehaviour { public Transform player; // 主角位置