所以我有一個類,這是一個屏幕,當我移動光標時,我想檢測它下面的是什麼對象,我添加了一個自定義按鈕類的TalentBtn,從starling的Button類,但是當我追蹤它時,它是Image類的一個實例。我無法將它投射到talenTbtn,當我嘗試時,它指的是null。我用hitTest(point)方法檢測對象,它返回一個DisplayObject。你們認爲我能以某種方式解決這個問題嗎? 下面是檢測方法Starling檢測按鈕爲圖片
private function onOverTalent(e:TouchEvent):void {
var point:Point = new Point(e.getTouch(stage).globalX, e.getTouch(stage).globalY);
displayObject = hitTest(point);
if (displayObject == null) {
return;
}
if (displayObject is Image) {
talentFound = displayObject as TalentBtn;
trace(displayObject);
trace(talentFound);
}
}
跡線的結果是:
[object Image]
null
首先,感謝您所作出的良好回答。其次,我不想爲每個按鈕添加一個新的偵聽器,我非常肯定它會不經意地浪費大量內存。現在我知道它不是,但是誰在乎;) –
@FerencDajka特別是在Starling中,事件彙總起來並且不會增加很多內存使用。 –