2

简而言之,我的情况:http: //i.imgur.com/wUpMgX5.jpg

这是我的 main.lua 文件:http ://pastebin.com/1t2rhim1

当我尝试在三星 Galaxy Note II 上玩 .apk 游戏时,从 ---PLAYER--- 开始的 main() 中的任何内容都不会显示。当我在计算机上模拟它时,一切都很好。

我的游戏基本上是一个标题屏幕,我在其中按下一个单词,然后它跳转到显示背景,并绘制出一个 D-Pad、3 个按钮和 2 个带有 HP/MP 条的字符,从而它变成了一个格斗游戏。但是,仅显示背景。

我试过禁用背景,但其他图像没有出现。

不知道是不是因为我的Corona SDK不是专业版,所以我可以画多少有限制,或者,

存在基于屏幕分辨率的问题,但是我一直在考虑使用 Galaxy SIII 或 Note II 分辨率 (1280 x 800) 编写这款游戏,因此角色不应出现在屏幕外或其他任何地方。

--

如果可行,我不明白如何进行无限更新循环。我对 Java 半熟悉,对 Python 不太熟悉,对 Lua 完全陌生。我也想进一步模块化我的代码。

我如何循环?我想让 AI 工作,但目前该代码只运行一次。我尝试在 main 函数的末尾放置一个 while-true-then 循环,但它使我的模拟器崩溃。

4

5 回答 5

1

不知道为什么你的精灵不会显示,但没有专业版不是问题。Corona SDK 的免费 Starter Edition 可以做 Pro 版本可以做的所有事情,除了应用内购买。

乍一看您的代码没有任何问题,但确实注意到加载的文件(例如背景图像)存储在项目的根目录中,与 main.lu 处于同一级别 - 而精灵不要加载在子目录中。我要做的第一件事是检查这些文件夹的名称——Dennis 和 David 文件夹实际上是按照你在源文件中的方式大写的吗?模拟器不会在意,但设备会。

就无限循环而言,您可以创建一个运行时侦听器,该侦听器可以每帧调用一个函数,如下所示:

运行时:addEventListener("enterFrame", myUpdateFunc)

myUpdateFunc 函数每秒将被调用 30 或 60 次,具体取决于您在 config.lua 文件中的设置方式。

[编辑:再看看你是如何调用精灵的,你真的是想在丹尼斯面前放斜线等等吗?即使案例是正确的,我也不确定你的意思是你在那个代码中所说的。:)]

于 2013-04-27T23:25:14.907 回答
0

确保您没有遇到文件名区分大小写的典型问题。模拟器会忽略构成文件名的字母的大小写,其中设备是敏感的。这很容易被忽略和错过。检查所有文件名,而不仅仅是图像。检查您的音频、您的 .lua 文件等。

还要确保通过 USB 线将您的设备连接到您的计算机并使用“adb logcat”命令,并确保您没有在设备上收到任何错误。

于 2013-05-05T21:37:14.100 回答
0

这只有 3 个原因:
1. 文件名区分大小写
2. 您的设备不支持纹理内存。
3. 代码有一些错误。

所有这些都可以通过输入打印语句并将您的设备连接到计算机并使用“adb logcat”命令查看日志来检查。

于 2013-06-10T10:05:56.910 回答
0

这是因为您首先创建了背景。将其移至按钮和图像下方,它应该可以工作。

于 2014-01-01T21:22:06.067 回答
0

Android 和 IOS 基于 linux,这意味着它区分大小写。人们在创建显示对象或播放文件或仅加载故事板场景时不关心案例的常见问题。这意味着游戏在windows系统上可以正常运行,但在linux下无法正常运行。尝试检查您在代码中引用的文件是否与项目文件夹中的文件名匹配(检查文件名的大小写)。希望这能解决您的问题。

于 2013-05-01T07:27:13.547 回答