2

私の状況を一言で言えば: http://i.imgur.com/wUpMgX5.jpg

これは私の main.lua ファイルです: http://pastebin.com/1t2rhim1

Samsung Galaxy Note II で .apk ゲームをプレイしようとすると、 ---PLAYER--- で始まる main( ) の内容が表示されません。コンピューターでシミュレートすると、意図したとおりにすべてがうまくいきます。

私のゲームは基本的にタイトル画面で、単語を押すと背景が表示され、十字キー、3 つのボタン、および HP/MP バーを持つ 2 つのキャラクターが引き出され、格闘ゲームになります。ただし、背景のみが表示されます。

背景を無効にしてみましたが、他の画像が表示されません。

うちのコロナSDKがプロ版じゃないからか、描ける量に限界があるからなのか、それとも、

画面の解像度に基づく問題がありますが、Galaxy SIII または Note II の解像度 (1280 x 800) を念頭に置いてこのゲームをコーディングしているため、キャラクターが画面外に表示されることはありません。

--

それが機能する場合、無限に更新されるループの方法がわかりません。私は Java にはある程度慣れていますが、Python には少し慣れていません。Lua についてはまったくの初心者です。コードももっとモジュール化したいです。

ループするにはどうすればよいですか?AI を機能させたいのですが、現在、そのコードは 1 回しか実行されません。main 関数の最後に while-true-then ループを入れてみましたが、シミュレーターがクラッシュしました。

4

5 に答える 5

1

スプライトが表示されない理由はわかりませんが、Pro バージョンがないことは問題ではありません。無料のコロナ SDK スターター エディションは、アプリ内購入を除いて、プロ バージョンで実行できるすべてのことを実行できます。

コードに一見問題はありませんが、読み込まれるファイル (背景画像など) がプロジェクトのルートに保存され、main.lu と同じレベルにあることに気付きました。ロードしないでくださいサブディレクトリにダウンしています。私が最初にすることは、それらのフォルダーの名前を確認することです.DennisとDavidが実際に大文字にしたフォルダーは、あなたがソースで持っている方法ですか? シミュレーターは気にしませんが、デバイスは気にします。

無限ループに関する限り、次のように、フレームごとに関数を呼び出すことができるランタイム リスナーを作成できます。

ランタイム:addEventListener("enterFrame", myUpdateFunc)

その myUpdateFunc 関数は、config.lua ファイルでの設定に応じて、毎秒 30 回または 60 回呼び出されます。

[編集: スプライトを呼び出す方法をもう一度見てみると、本当にデニスなどの前にスラッシュを入れるつもりですか? ケースが正しい場合でも、そのコードで何を言っているのかわかりません。:)]

于 2013-04-27T23:25:14.907 に答える
0

Android と IOS は Linux に基づいているため、大文字と小文字が区別されます。表示オブジェクトを作成したり、ファイルを再生したり、ストーリー ボード シーンをロードしたりするときに、大文字と小文字を気にしないというのはよくある問題です。これは、ゲームが Windows システムでは問題なく動作しますが、Linux では正しく動作しないことを意味します。コード内で参照しているファイルがプロジェクト フォルダー内のファイル名と一致することを確認してください (ファイル名の大文字と小文字を確認してください)。問題が解決することを願っています。

于 2013-05-01T07:27:13.547 に答える
0

ファイル名の大文字と小文字が区別されるという典型的な問題に遭遇していないことを確認してください。シミュレーターは、ファイル名を構成する文字の大文字と小文字を無視します。これは、デバイスの機密性が高いためです。これは見落としがちです。画像だけでなく、すべてのファイル名を確認してください。オーディオ、.lua ファイルなどを確認してください。

また、USB コードを介してデバイスをコンピューターにテザリングし、「adb logcat」コマンドを使用して、デバイスでエラーが発生していないことを確認してください。

于 2013-05-05T21:37:14.100 に答える