我正在嘗試測驗 .as 檔案中定義的子彈是否觸及 .fla 檔案中定義的播放器。
我的 .fla 檔案中有這個 if 陳述句
if (spaceBarPressed == true) {
var eb = new EnemyBullet(player)
stage.addChild(eb)
eb.x = enemy.x 120
eb.y = enemy.y 120
}
這在我的 .as 檔案中
public function EnemyBullet(player) {
addEventListener(Event.ENTER_FRAME, update)
if (this.hitTestObject(player)) {
trace("hit")
}
}
function update(event:Event) {
this.x =5
}
但我似乎無法讓它作業。
uj5u.com熱心網友回復:
我通過將物件播放器發送到類中的函式 EnemyBullet 來修復它,并將其存盤在 DisplayObject 型別的變數中以在函式更新中參考它。
.fla 檔案中 if 陳述句的內容:
if (spaceBarPressed == true) {
var eb = new EnemyBullet(player)
stage.addChild(eb)
eb.x = enemy.x 120
eb.y = enemy.y 120
}
.as 檔案的內容
package {
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.Event
public class EnemyBullet extends MovieClip {
var $thing:DisplayObject
public function EnemyBullet($testObject:DisplayObject) {
$thing = $testObject
addEventListener(Event.ENTER_FRAME, update)
}
function update(e:Event) {
this.x =5
if ($thing.hitTestObject(this) ) {
trace("HIT")
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/489837.html
