Andengine,如何用触摸屏移动精灵

2024-04-18

我从 Andengine 开始,当我触摸屏幕(而不是精灵)时很难移动我的精灵。我真的需要你的帮助,非常感谢。

这是我的代码:

    @Override
protected Scene onCreateScene() {
    final Scene scene = new Scene();
    Sprite backgroundSprite = new Sprite(0, 0, this.mBackgroundTextureRegion, getVertexBufferObjectManager());
    scene.attachChild(backgroundSprite);
    Carl carl = new Carl(1, 30, 361, this.carl, getVertexBufferObjectManager()){

        };

    scene.attachChild(carl);



    this.mStack1.add(carl);
    carl.setmStack(mStack1);
    scene.registerTouchArea(carl);
    scene.setTouchAreaBindingOnActionDownEnabled(true);


    return scene;
}
public boolean onTouchEvent(MotionEvent event, Carl carl) {

    carl.setPosition(carl.getX() +2,carl.getY() );
    return true;
}

你可以实施IOnSceneTouchListener接口,而不是重写 onSceneTouchEvent 方法,您可以在其中用球进行操作

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
     carl.setPosition(carl.getX() +2,carl.getY() );
    return false;
}

但不要忘记添加这个scene.setOnSceneTouchListener(this); to protected Scene onCreateScene()

EDIT:

boolean canGo = false;

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
    if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_DOWN)
        canGo = true;
    if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_UP)
        canGo = false;
    return false;
}

这会增加你的public Scene onCreateScene() {

scene.registerUpdateHandler(new IUpdateHandler() {
    @Override
    public void reset() {}
    @Override
    public void onUpdate(float pSecondsElapsed) {
        // TODO Auto-generated method stub
        if (canGo)
            ball.setPosition(ball.getX() + 2, ball.getY());
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Andengine,如何用触摸屏移动精灵 的相关文章

  • 在 Android Studio 中启动 Activity 时出错

    我正在尝试制作一款具有多个 java 文件的 Android Studio 应用程序 然而 当我尝试运行我的应用程序时 它说 Error while executing am start n com example company appn
  • Apache HttpClient 摘要式身份验证

    基本上我需要做的是执行摘要身份验证 我尝试的第一件事是可用的官方示例here http svn apache org repos asf httpcomponents httpclient tags 4 0 1 httpclient src
  • Java 工具创建的 WSDL 文件的 WCF 序列化问题

    我的团队的任务是让几个内部开发的 NET 客户端应用程序连接到一些新的 Java Web 服务 Java Web 服务是第三方 供应商提供的 WSDL 文件 我们的团队修改 控制的能力有限 这意味着我们可能有权要求我们的供应商对 WSDL
  • Java - 多线程代码在更多内核上运行速度并不更快

    我只是在 4 核机器上运行一些多线程代码 希望它比在单核机器上更快 想法是这样的 我有固定数量的线程 在我的例子中每个核心一个线程 每个线程执行一个Runnable形式 private static int data data shared
  • 通话时是否可以播放音乐以便对方可以听到?安卓

    我正在尝试制作和应用程序打电话骗子 http phoneky com applications id y0y17763 最初为 Symbian 操作系统开发 是否可以在电话通话期间播放音乐 让接收方和呼叫方听到相同的声音或音乐 如果是 我该
  • 棒棒糖中的 takePicture 失败

    以下代码正在使用 可在后台拍照 它对于棒棒糖以下的所有版本都工作正常 但在以下版本中给出运行时异常takePicture null null mcall 有任何想法吗 public void takePictures final int d
  • javadoc“@author”未显示?

    每当我在 intelliJ 中输入 Printing 并按 CTRL Q 时 我只能看到 Summary 而看不到 Bob 我究竟做错了什么 package printing author Bob b Summary b public cl
  • Java中使用什么方法来销毁你的对象[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 你能为我的问题举一个例子吗 抱歉 J
  • 是否有办法排除从父 POM 继承的工件?

    可以通过声明排除依赖项中的工件
  • Android 动态删除按钮

    我有一个按钮 当我按下它时 我想将其删除 而不是使其不可见 我读到我可以使用layout removeView mybutton 但布局是什么 我怎样才能在我的活动中得到它 Button showQuestion private void
  • 编写大 JSON 文件避免内存不足问题的最佳方法

    首先 请注意今天是我第一天GSON 我正在尝试使用编写 Json 文件GSON图书馆 我有几千个JsonObjects里面一个ArrayList 当写入 Json 文件时 它应该看起来与此类似 hash index 00102x05h06l
  • 每次我们想在应用程序中更改字体时,是否都必须复制 Font TTF

    以前 为了使我的应用程序可以在 Gingerbread 及以上设备中运行 我必须将 Robotto 字体资源复制到 asset 文件夹中 这是因为 Gingerbread 本身不附带 Robotto 字体 但是 假设我决定仅将我的应用程序部
  • Java 中的 lambda 目标类型和目标类型上下文是什么意思?

    我正在阅读 Herbert Schildt 的 Java 完整参考 中关于 lambda 的一章 其中有很多对 lambda 目标类型 和 目标类型上下文 的引用 函数式接口定义了目标类型的一个 拉姆达表达式 这里有一个关键点 只能使用 l
  • 如何在Android应用程序中添加g729编解码器?

    我正在开发一个用于拨打和接听电话的 SIP 应用程序 我想在我的应用程序中添加 G729 编解码器 目前我正在对开源项目进行分析SipDroid http code google com p sipdroid 如果我想让该应用程序支持 G7
  • SQL 查询中的外语/重音字符

    我正在使用 Java 和 Spring 的 JdbcTemplate 类在 Java 中构建一个 SQL 查询来查询 Postgres 数据库 但是 我在执行包含外来 重音字符的查询时遇到问题 例如 修剪后的 代码 JdbcTemplate
  • 如何用 Java 为 2D 游戏构建 Tiled 地图?

    不知道如何解决这个问题 基本上 我想要 400x400 窗口的 Pixel gt Tile 表示 屏幕上的每个坐标 例如120x300应该是图块的一部分 我最小的精灵是 4 个像素 所以我们可以说 1 个图块 4 个像素 玩家和敌人精灵都是
  • 证明:为什么 java.lang.String.hashCode() 的实现与其文档相符?

    JDK 文档为java lang String hashCode http java sun com javase 6 docs api java lang String html hashCode famously https stack
  • Android:创建自定义形状进度条的最佳方法

    我想创建一个自定义形状的进度条 它会根据其进度改变颜色 但这几乎是一个不同的问题 那么 创建如下图所示的自定义形状进度条的最佳方法是什么 抱歉 MS Paint 绘图技巧不佳 为了拥有所有可能性 您应该创建一个从进度条派生的自定义类并完全重
  • Spring Security 实体字段级安全

    我有一个 Spring MVC 应用程序 它提供了一个视图 其中显示了来自Customer实体 例如姓名 地址 电话号码等 该应用程序具有各种角色 例如ROLE USER and ROLE ADMIN 用户具有ROLE USER只能看到客户
  • Spring JPA - 通过 EmbeddedId 部分查找

    以下代码仅用于演示目的 My Entity豆看起来像这样 Entity class Employee EmbeddedId private EmployeeKey employeeKey private String firstName p

随机推荐