我試圖做一個非常簡單的記憶遊戲(即,牌桌,玩家翻轉兩次,一次試圖找到一場比賽)統一。我對它進行格式化的方式是將CardScript附加到卡片上,並在卡片上附加一個腳本,用於存放所有卡片,發送消息以進行旋轉,當匹配成功時等等。但是,我遇到了一個障礙。我在CardScript中使用void OnMouseDown()
來知道它何時應該翻轉,但我不知道如何讓板子知道發生了這種情況。有什麼想法嗎?我可以在其他地方發送OnMouseDown()事件嗎?
回答
所有你需要的通信物體之間是一個參考。爲了得到一個參考,通常你只是保持一個變量是這樣的:
MyScript reference = new MyScript();
然而,這不會在Unity總是工作,因爲你不能在MonoBehaviours使用new
。所以你需要另一種方式。
您可以參考!你可以使用這個:
MyScript reference = GameObject.Find("GameObjectName").GetComponent<MyScript>();
一旦你有參考只是進行函數調用。
reference.foo();
基本上你需要通過腳本發送消息。這是你必須做的:
Script1.cs
public void checky()
{
print("you touched my card");
}
Script2.cs
private Script1 otherScript; // we need Script1
void OnMouseDown()
{
otherScript = new Script1(); // new instance of Script1
otherScript.checky(); // accessing public method of Script1
}
希望這有助於:)
是否可以發送它並保持它們正在與對方的同一個實例交談的事實? – Maxw3ll 2014-10-11 08:01:57
是的,這是可能的。在script1中重複相同的過程,然後他們會有很好的聊天:) – hfarazm 2014-10-11 08:37:42
要明白,只有當'Script1'不從'MonoBehaviour'繼承時,你的解決方案纔會工作。如果是這樣,則不能使用新關鍵字來獲取實例。 'GetComponent'是解決方案 – Programmer 2016-08-10 21:21:02
- 1. SendGrid可以發送郵件到其他域嗎?
- 2. 我們可以使用websockets發送遠程密鑰事件嗎?
- 3. 我可以將ADT插件從一個月蝕複製到其他地方嗎?
- 4. PayPal可以向其他PayPal賬戶發送付款嗎?
- 5. 我可以告訴查詢在SSMS和其他地方運行嗎?
- 6. 我可以在其他地方定義別名而不是.bashrc嗎?
- 7. 我可以在全球其他地方注入Google AJAX API自動加載嗎?
- 8. 我可以在application_helper.rb中使用其他助手方法嗎?
- 9. 其他地方點擊事件?
- 10. TLabel OnMouseDown事件在Firemonkey中未觸發
- 11. 我可以從其他類方法執行ActionListener方法actionPerformed嗎?
- 12. 我可以使用Java以外的其他方式爲Android開發嗎?
- 13. 可以異步下載文件嗎?還是我在做其他事情?
- 14. 使用其他方式發送郵件
- 15. ColdFusion可以在utf-8中發送HTML5服務器發送的事件嗎?
- 16. PayPal結賬 - 我們可以將資金髮送給其他人嗎?
- 17. 我們可以使用SmsManager將短信發送給其他非Android設備嗎?
- 18. 我可以使用POST向其他網站中的頁面發送請求嗎?
- 19. 我可以向Creators Program Xbox Live API中的其他XboxLiveUser發送消息嗎?
- 20. 我可以將結構數組發送到其他函數嗎? C語言
- 21. 我可以在DLL中嵌入其他文件嗎?
- 22. 我們可以在其他頭文件中執行線程嗎?
- 23. 除了sp_send_dbmail外,其他任何人都可以發送電子郵件嗎?
- 24. socket.io客戶端可以在本地發出事件嗎?
- 25. 我可以使用事件在應用程序之間發送信號嗎?
- 26. 我可以使用郵件API代表他人發送郵件嗎?
- 27. 我可以發推文給其他組織嗎?
- 28. 我們可以在其他地圖中使用嵌套地圖嗎?
- 29. Socket.io在其他服務器文件內發送事件
- 30. python - TKinter - 我可以發送背景嗎?
謝謝!我設法通過在實例化卡片時傳遞對象的引用來做到這一點。打的好。 – Maxw3ll 2014-10-11 22:57:08