Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282

    as3 centrare punto di registrazione di un mc

    Ciao a tutti come si fa a cambiare tramite AS3 il punto di registrazione di un MC?

    di seguito c'è un esempio di un figura geometrica creata in AS3 e ho attribuito degli ascoltatori per fare effetto pulsante.

    al rollover l'ogetto cresce, al rollout ritorna alla simensione original.

    Ora se vedete l'esempio che vi posto noterete che il quadrato si ingrandisce spostandosi a de quindi ha un punto di registrazione in alto a sinistra, come faccio a spostarlo al centro?

    grazie per l'aiuto

    Codice PHP:
    import flash.display.Sprite;
    import flash.display.BlendMode;
    import flash.events.MouseEvent;
    import fl.transitions.*;
    import fl.transitions.easing.*;
    var 
    mc:MovieClip = new MovieClip();

    var 
    square:Sprite = new Sprite();
    square.graphics.beginFill(0xFF88CC);
    square.graphics.drawRect(008080);
    mc.x=200;
    mc.y=100;
    addChild(mc);
    mc.addChild(square);



    mc.addEventListener(MouseEvent.MOUSE_OVERdimObject);
    mc.addEventListener(MouseEvent.MOUSE_OUTrestoreObject);

    function 
    dimObject(event:MouseEvent):void {
     var 
    myTweenx:Tween = new Tween(mc"scaleX"Strong.easeOut11.51true);
     var 
    myTweeny:Tween = new Tween(mc"scaleY"Strong.easeOut11.51true);
    }

    function 
    restoreObject(event:MouseEvent):void {
    var 
    myTweenx:Tween = new Tween(mc"scaleX"Strong.easeOut1.511true);
    var 
    myTweeny:Tween = new Tween(mc"scaleY"Strong.easeOut1.511true);

    Grazie per l'aiuto
    Tony

  2. #2
    Utente di HTML.it L'avatar di fero
    Registrato dal
    Dec 2000
    Messaggi
    265
    io con il tweener cambierei la x/y e proporzionalmente la width/height
    anzichè usare scaleX

    se facciamo crescere la larghezza e l'altezza del doppio avremo

    NEWW=mc.whidth*2
    NEWH=mc.height*2
    NEWX=mc.x-(NEWW/2)
    NEWY=mc.y-(NEWH/2)


    Tweener.addTween(mc, { x:NEWX, y:NEWY, whidt:NEWW,height:NEWH,time:2, transition:"easeInOutCubic"});
    Fero
    Vuoi conoscere nuovi Amici?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    grazie per l'aiuto Fero...

    beh nel lavoro che uso io utilizzo la classe Tween di GreenSock

    ma avevo cambiato per il codice per non creare complicazioni a chi compiava e incollava il codice nel flash (per non fargli salvare il lavoro e copiare nella stessa cartella la classe ecc. ecc.)

    per "aitare chi mi aiutava ad aiutarmi" :-D

    comunque sono riuscito a risovere diversamente

    prima di fare l'addChild ho proceduto così

    square.x = (stage.width/2) - (square.width/2);
    square.y = (stage.height/2) - (square.height/2);

    che cretinata non ci avevo proprio pensato...
    hai la tween Club?
    volevo chiederti una cosa a proposito di questa classe...
    possiamo sentirci in privato?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    9
    [b]
    prima di fare l'addChild ho proceduto così

    square.x = (stage.width/2) - (square.width/2);
    square.y = (stage.height/2) - (square.height/2);
    ..beh ma così continuerà a scalarsi da sinistra verso destra, non dal centro.
    Non esiste una classe che faccia questo lavoro??

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    Ciao in realtà non funziona...ho riprovato...
    io avevo un esempio fatto dove l'addChild lo facevo all'interno di un'altro mc
    e li me lo centrava...
    ci sono classi che fanno questo...
    tipo Tweener Club ma è a bagamento...
    ciao
    Tony

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.