2014-10-09 26 views
0

我是AS3的新手,嘗試創建可拖動的元素。但是,我不斷收到錯誤1061,我不知道爲什麼,因爲我很確定我沒有任何拼寫錯誤或類似錯誤。有人可以告訴我我做錯了什麼嗎?帶靜態類型的AS3錯誤1061參考

這裏是我的代碼:

package { 

import flash.display.*; 
import flash.events.*; 
import flash.geom.Rectangle; 

public class Script extends MovieClip{ 
    public var value:Number; 

    private var max:Number; 
    private var min:Number; 

    public function Draggable(){ 
     min = erhu_mc.y; 
     max = erhu_mc.height - Erhu_H3_btn.height; 
     Erhu_H3_btn.addEventListener(MouseEvent.MOUSE_DOWN, dragHandle); 
    } 

    function dragHandle(event:MouseEvent):void { 
     Erhu_H3_btn.startDrag(new Rectangle, false,(0,min,0,max)); 
     stage.addEventListener(MouseEvent.MOUSE_UP, stopDragging); 
    } 

    function stopDragging(event:MouseEvent):void { 
     Erhu_H3_btn.stopDrag(); 
     stage.removeEventListener(MouseEvent.MOUSE_UP, stopDragging); 
    } 
    } 
} 
+1

這是因爲'Erhu_H3_btn'是一個類的名稱,而不是舞臺上的一個對象的實例名稱。 – Marty 2014-10-09 04:01:50

+0

我不明白...'Erhu_H3_btn'是我的按鈕名稱,它在我的舞臺上......爲什麼它是一個類而不是實例名? – Anne 2014-10-09 09:19:07

回答

0

有2個問題與當前類。

  1. Erhu_H3_btn.startDrag(new Rectangle, false,(0,min,0,max));需求是:Erhu_H3_btn.startDrag(false,new Rectangle(0,min,0,max));

  2. 你不能直接從一個類的時間表引用對象。 [ref]您將需要傳遞對象的引用或對舞臺的引用。例如,下面的返回null:

    import flash.display.*; public class Script extends MovieClip { public function Script() { trace(stage); }

我複製並moded你的代碼,以便它的工作原理:幀

import flash.display.*; 
import flash.events.*; 
import flash.geom.Rectangle; 


var value:Number; 
var max:Number; 
var min:Number; 
Draggable(); 


function Draggable(){ 
min = Erhu_H3_btn.y; 
max = Erhu_H3_btn.y += 100; 
Erhu_H3_btn.addEventListener(MouseEvent.MOUSE_DOWN, dragHandle); 
} 

function dragHandle(event:MouseEvent):void { 
Erhu_H3_btn.startDrag(false,new Rectangle(0,min,0,max)); 
stage.addEventListener(MouseEvent.MOUSE_UP, stopDragging); 
} 

function stopDragging(event:MouseEvent):void { 
Erhu_H3_btn.stopDrag(); 
stage.removeEventListener(MouseEvent.MOUSE_UP, stopDragging); 
} 

希望這有助於上。

+0

對不起,我得到'錯誤1061','通過引用靜態類型flash.display:SimpleButton'調用'startDrag'和'stopDrag' – Anne 2014-10-09 10:44:13

+0

把這個:((simpleButtonMovieClipName)作爲SimpleButton) .startDrag ... 或 把這個:((simpleButtonMovieClipName)作爲MovieClip).startDrag ... – Zze 2014-10-09 10:45:40

+0

我試着直接在你給我的代碼...既沒有擺脫'錯誤1061'。我也通過靜態類型flash.display:SimpleButton,爲'((simpleButtonMovieClipName)as SimpleButton)獲取錯誤1120',未定義屬性的訪問和錯誤1119,可能未定義的屬性的訪問.startDrag' – Anne 2014-10-09 12:03:51

相關問題