【问题标题】:Haxe/OpenFL: How do I override GameActivity.javaHaxe/OpenFL:如何覆盖 GameActivity.java
【发布时间】:2013-10-05 12:36:02
【问题描述】:

有没有办法在不修改已安装版本的情况下覆盖部分 OpenFL 模板?具体我想修改templates/android/src/org/haxe/nme/GameActivity.java

我知道通过以下方式覆盖 AndroidManifest.xml 的示例:

<template
    path="templates/android/AndroidManifest.xml"
    rename="AndroidManifest.xml"
    if="android"
/>

这可以正常工作,但不适用于所需的 Java 文件。

我还尝试复制templates-文件夹并将&lt;template path="templates" /&gt; 放入我的project.xml-文件中,如文档中所述。 (我什至尝试了&lt;templates` path="templates" /> 因为我认为文档是错误的。)没有用。

我的自定义 GameActivity.java 被忽略。有什么办法吗?

(我使用的是 Haxe 3.1.0-rc3、OpenFL 1.0.6 和 OpenFL-native 1.0.7。)

【问题讨论】:

    标签: android haxe openfl


    【解决方案1】:

    您应该覆盖 MainActivity.java(就像您对 AndroidManifiest.xml 所做的那样)。 MainActivity 扩展了 GameActivity,您可以覆盖某些部分。或者编写自己的“GameActivity”。

    【讨论】:

    • 也许我没有正确解释这一点:我有我自定义的 GameActivity.java 但我必须修改分发,因为我无法让路径覆盖机制工作。此机制存在,已记录在案,并且适用于 AndroidManifest.xml。我只是不知道如何使它与 Java 文件一起工作。
    • 这个机制也适用于.java文件。看看这个 - github.com/sergey-miryanov/ExtensionsPack/blob/master/…。如您所见,MainActivity 扩展了自定义 java 类。 Ans MainActivity 复制到导出也作为模板。
    • 好的,你的例子很有帮助,我设法覆盖了 MainActivity.java。我无法替换 GameActivity.java,但我想我可以通过这种方式操作 MainView。
    猜你喜欢
    • 2014-01-08
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多