我有兩個對象在舞臺上搜索另一個。他們以一定的速度朝某個方向移動。這是通過Event.ENTER_FRAME完成的。一旦對象找到其他對象,它就會開始對這兩個對象進行某些修改,包括停止對象。AS3原則上執行代碼
現在,有一個問題出現了。如果對象A發現對象B,則開始對對象B做一些修改,並且CPU從ObjectA中獲取並提供給ObjectB。現在,對象B將找到ObjectA並且將開始在ObjectA上進行修改,即使ObjectA已經在執行此操作。這可以用一個非常簡單的技術來解決:一旦ObjectA找到ObjectB它調用一個lock()方法。而objectB在鎖定時不會檢查其他對象。問題是我不知道如何檢查對象之間的距離(這是他們如何找到彼此)和以原子方式鎖定。
P.S.過去幾個月我在Java中做了很多多線程編程,所以也許這些東西在這裏不適用。
謝謝。
首先調用哪一個並不重要。我只是想確保一旦被調用,它就完成了在下一個調用之前完成它的工作。 –
我只記得'addEventListener'中還有一個優先級參數。如果訂單很重要,但不需要動態,那將會很有用。 – Kapep