0

コロナでオブジェクト間通信 (イベントのトリガーなど) を行うにはどうすればよいですか? いくつかのサンプルコードは素晴らしいでしょう。

ノート:

  • オブジェクトでカスタム イベントを作成する方法があるようですが、トリガー (ディスパッチ) する前に、そのオブジェクトへのハンドルが本当に必要なようです。

  • ここで私が興味を持っているのは、2 つの完全に別個のオブジェクトです。たとえば、画面上の表示オブジェクトをクリックすると、グローバル イベント タイプの意味で "MyInventoryHasIncreased" と言うことができ、次に、これにサブスクライブする必要がある他の表示オブジェクトがそれを取得し、それに応じて表示を調整します。申し込む

4

1 に答える 1

2

グローバル イベントが必要な場合は、Runtime:addEventListener()の使用を検討してください。

local function invIncreased(event)
    print("handle inventory increase from" .. event.target)
end

local image = display.newImage("image.png") 
Runtime:addEventListener("MyInventoryHasIncreased", invIncreased)

local event = {name="MyInventoryHasIncreased", target=image} 
Runtime:dispatchEvent(event)

Runtime:addEventListener を Runtime:dispatchEvent から分割して、目的のオブジェクト間通信を取得できます。

于 2012-05-07T08:32:13.043 に答える