2016-06-02 2 views
-1

У меня возникли проблемы с проектом и не удалось найти решение моей проблемы, я хочу создать объект на экране (только один раз), а затем заставьте его перетащить.Actionscript 3.0 (столбец 3 1120: доступ к неопределенному шару свойства.)

Я сделал один раз, но я не могу найти решение для поиска класса шара на другой половине кода.

Пробовал много, но все еще не могу понять это. Надеюсь, ты поможешь мне.

stage.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); 


function onClick(evt:MouseEvent):void{ 

var ball:MovieClip=new Ball(); 
    ball.x=mouseX; 
    ball.y=mouseY; 
    stage.addChildAt(ball,0); 
stage.removeEventListener(MouseEvent.CLICK,onClick); 
} 


stage.addEventListener(MouseEvent.MOUSE_DOWN, hoia); 

    function hoia(event:MouseEvent):void{ 
ball.startDrag() 
} 

stage.addEventListener(MouseEvent.MOUSE_UP, laselahti); 
    function laselahti(event:MouseEvent):void{ 
ball.stopDrag() 
} 

ответ

0

Я просто сделал исправить, я не уверен, что это лучший способ сделать это, но я переехал весь код в функции OnClick, и она работала так же, как это необходимо.

stage.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); 


function onClick(evt:MouseEvent):void{ 

var ball:MovieClip=new Ball(); 
    ball.x=mouseX; 
    ball.y=mouseY; 
    stage.addChildAt(ball,0); 
stage.removeEventListener(MouseEvent.CLICK,onClick); 

ball.addEventListener(MouseEvent.MOUSE_DOWN, hoia); 
    function hoia(event:MouseEvent):void{ 
ball.startDrag() 
} 

ball.addEventListener(MouseEvent.MOUSE_UP, laselahti); 
    function laselahti(event:MouseEvent):void{ 
ball.stopDrag() 
    } 
} 
0

Вы должны переместить переменную ball за пределами функции onClick и создать его где-нибудь, например, в конструкторе, и скрыть, если она не нужна. Затем, когда запускаются onClick, вы делаете его видимым, добавляете и разрешаете перетаскивание.

var ball:MovieClip=new Ball(); 
stage.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); 
function onClick(evt:MouseEvent):void{ 
    ball.x=mouseX; 
    ball.y=mouseY; 
    stage.addChildAt(ball,0); 
    stage.removeEventListener(MouseEvent.CLICK,onClick); 
    stage.addEventListener(MouseEvent.MOUSE_DOWN, hoia); 
    stage.addEventListener(MouseEvent.MOUSE_UP, laselahti); 
} 
function hoia(event:MouseEvent):void{ 
    ball.startDrag() 
} 
function laselahti(event:MouseEvent):void{ 
    ball.stopDrag() 
} 
Смежные вопросы