-1

私は成功した Minecraft Tekkit modded サーバーを実行しており、その上でコンピューター クラフトを使用しています。

私は lua を初めて使用し、基本的なことしか知りません。禁止アイテム リストとルール リストを表示するページを含むメニューを作成しようとしています。高度なコンピューターとモニター用に最適化された、矢印を含むプログラムを作成しました。

コードは私の高度なコンピューターでは適切に実行されますが、モニターでは実行されず、誰かが矢印をクリックしても機能しません。

スタックを使い始めたばかりなので、どうすればよいかわかりません。情報が必要な場合は、お尋ねください:)

コード: http://pastebin.com/gVtPeBCE

ちなみに私はすでに使ってみましMon.writeMon = peripheral.wrap("top")

tekkit をお持ちでない方は、コンピューター クラフト エミュレーターをご利用ください: https://goo.gl/J0dPq0

4

2 に答える 2

0

申し訳ありませんが、すべてのコードを読んでいないことをお知らせします。しかし、あなたの説明に基づいて判断すると、構文が正しくない可能性を除いて、3 つの問題のうちの 1 つである可能性が高いと言えます。

注:あなたの質問は、リンク先のエミュレーターがデスクトップComputerCraftコンピューターのみを提供しているのに対し、モニター上で実行するプログラムの機能についてのみ質問しています。

周辺

あなたはすでに述べましたが:

ちなみに私はすでに使ってみましMon.writeMon = peripheral.wrap("top")

コード遷移を簡単にする方法として、周辺機能テーブルを項変数に等しく設定できることを明確にしたいと思います。例: term = peripheral.wrap(string_side).

注:この方法を使用する場合、次のコマンドでプログラムを実行しないでください。

> monitor side program.

代わりに、特別な処理を行わずに通常のプログラムとして実行する必要があります。

すなわち> program

不適切なマウス イベント検出

mouse_click簡単に言えば、モニターを使用する場合、イベントをプルすることは想定されていません。monitor_touch代わりに、イベントをプルする必要があります。

while true do
  type, side, x, y = os.pullEvent()
  if type == "monitor_touch" then
    print("Monitor '"..side.."' has been pressed at "..x..", "..y.."!")
  end
end

モニターサイズ

これは単に、モニター上で実行しようとしているプログラムが多くのスペースを占有するため、そのサイズのモニターに表示すると使用できないことを意味します。

提案: モニターのサイズに合わせてコードを更新するか、プログラムに適合するようにモニターを作成してください。


これらのアイデアのすべてがあなたの質問に答えない可能性があることを覚えておいてください. したがって、これらは一般的な提案にすぎません。

于 2015-06-12T06:10:40.597 に答える