2012-02-27 1 views
-1

J'ai dupliqué un objet pour l'utiliser dans un autre cadre (l'objet utilise Greensock pour faire défiler l'axe X et j'ai utilisé une fonction (onMove (EVT: MouseEvent)) mais quand je déplace ma souris cette erreur est dans l'onglet de sortie TypeError: Error #1009: Cannot access a property or method of a null object reference. at Main_fla::mainContianer_1/onMove() et quand je presse l'un des boutons pour entrer dans le nouvel objet cette erreur se TypeError: Error #1009: Cannot access a property or method of a null object reference. at com.greensock::TweenLite/init() at com.greensock::TweenLite/renderTime() at com.greensock.core::SimpleTimeline/renderTime() at com.greensock::TweenLite$/updateAll() et l'ancien objet arriveas3 - TypeError: Erreur # 1009: Impossible d'accéder à une propriété ou méthode d'une référence d'objet nul

ici est les actions de mon ancien

import com.greensock.TweenLite; 
import com.greensock.easing.Back; 
import com.greensock.easing.Elastic; 
import com.greensock.plugins.TweenPlugin; 
import com.greensock.plugins.BlurFilterPlugin; 

var panelContainer:Sprite = new Sprite; 
addChild(panelContainer); 

for(var i:Number=0;i<3; i++) { 

    var projectPanel:ProjectPanel = new ProjectPanel; 
    projectPanel.x = i*(projectPanel.width+10); 
    panelContainer.addChild(projectPanel); 

    projectPanel.addEventListener(MouseEvent.CLICK, onClick); 

} 

function onClick(evt:MouseEvent):void { 

    TweenLite.to(panelContainer, 0.5, {y:stage.stageHeight, ease:Back.easeIn}); 
    MovieClip(this.parent).addFullPanel(Number(evt.currentTarget.name)); 

} 

function slideUp():void { 

    TweenLite.to(panelContainer, 0.5, {y:0, ease:Back.easeOut}); 

} 

stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove); 

function onMove(evt:MouseEvent):void { 

    if(MovieClip(this.parent).fullProjectPanelUp==false){ 
    TweenLite.to(panelContainer,0.3, {x:-  (stage.mouseX/1225)*panelContainer.width+stage.stageWidth/2.65}); 
    } 

} 

stop(); 

et les actions du nouveau:

import com.greensock.TweenLite; 
import com.greensock.easing.Back; 
import com.greensock.easing.Elastic; 
import com.greensock.plugins.TweenPlugin; 
import com.greensock.plugins.BlurFilterPlugin; 

var lessonContainer:Sprite = new Sprite; 
addChild(lessonContainer); 

for(var p:Number=0;p<8; p++) { 

    var lessonPanel:LessonPanel = new LessonPanel; 
    lessonPanel.x = p*(lessonPanel.width+10); 
    lessonContainer.addChild(lessonPanel); 

    lessonPanel.addEventListener(MouseEvent.CLICK, onClick); 

} 

function onClickLesson(evt:MouseEvent):void { 

    TweenLite.to(lessonContainer, 0.5, {y:stage.stageHeight, ease:Back.easeIn}); 
    MovieClip(this.parent).addfullLessonPanel(Number(evt.currentTarget.name)); 

} 

function slideLessonUp():void { 

    TweenLite.to(lessonContainer, 0.5, {y:0, ease:Back.easeOut}); 

} 

stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove); 

function onLessonMove(evt:MouseEvent):void { 

    if(MovieClip(this.parent).fullLessonPanelUp==false){ 
    TweenLite.to(lessonContainer,0.3, {x:-(stage.mouseX/1225)*lessonContainer.width+stage.stageWidth/2.65}); 
    } 

} 

stop(); 

et voici le Project Files si u besoin de les

+0

Vous utilisez MovieClip (this.parent) partout mais vous faites ne pas avoir le code dans une classe. Alors laissez-moi vous demander à quoi se réfère "this.parent"? –

+0

fullProjectPanel – aymanzzz

+0

comment puis-je faire référence à fullLessonPanel? !! – aymanzzz

Répondre

0

Si le FrameLabelPlugin n'a pas été activée, TweenLite agiraient comme si vous essayiez interpoler littéralement la propriété mc.frameLabel (et il n'y en a telle chose).

Activer un plugin nécessite une seule ligne de code et vous n'avez besoin de le faire qu'une seule fois dans votre application, donc c'est assez facile. Il suffit de passer un tableau contenant les noms de tous les plug-ins que vous souhaitez activer la méthode TweenPlugin.activate(), comme ceci:

import com.greensock.plugins.*; 
TweenPlugin.activate([FrameLabelPlugin, ColorTransformPlugin]); 
Questions connexes