Visualizzazione dei risultati da 1 a 3 su 3

Discussione: zoom actionscript

  1. #1

    zoom actionscript

    Ciao a tutti,
    dovrei fare un lavoretto in cui zoomare due stesse immagini (una bitmap una vettoriale) in modo tale che si veda "la sgranatura" dei pixel della bitmap..

    questo il codice actionscript che uso x due movieclip e un bottone...


    MovieClip.prototype.zoom = function(end, speed) {
    this.onEnterFrame = function() {
    var offset = 1;
    var rscale = Math.abs(endScale-this._xscale);
    //Muovo il mc finche nn raggiunge la sua posizione finale e lo scalaggio desiderato
    if (!rscale<=offset) {
    (this._xscale<endScale) ? (this._xscale=this._yscale -= rscale/speed) : (this._xscale=this._yscale += rscale/speed);
    } else {
    //A spostamento completato e scalaggio desiderato elimino l'enterframe
    delete this.onEnterFrame;
    }
    };
    };
    istanzabottone.onRollOver = function() {
    //il primo valore la percentuale si scalaggio, il secondo è la velocità che puoi variare per far si che l'animazione sia più o meno veloce
    istanzamc.zoom(150, 5);//ingrandise a 400 e velocità 5
    };
    istanzabottone.onRollOut = function() {
    istanzamc.zoom(100, 5);//torna al 100 a velocità 5
    };












    il problema è che l ingrandimento non si arresta mai...


    cosa modificare? qualche aiutino..?
    grazie mille

  2. #2
    la cosa strana che vedo è questo controllo
    if (!rscale<=offset) {

    chi sarebbe rscale e poi xchè !rscale che equivale al false di questo var come fa ad essere minore di offset..

    cmq metti quale trace x vedere la var che valore assumono e troverai l'inghippo

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3

    risolto!

    Grazie lo stesso Crescenzo!
    In effetti quel codice era un pò "ambiguo/strano".
    ho trovato invece un altro codice che fa proprio al caso mio..
    Comunque ve lo posto:

    Ci sono tre clip.Ovvero il clip da zoomare chiamato "sfondo" (una immagine trasformata in clip)
    un clip "zoomin" che funziona da tasto ed un clip "zoomout" che funziona da tasto inverso.
    questo è lo script per zoomin:

    onClipEvent (enterFrame) {
    //dichiara la funzione "zoom" che rimpicciolisce il clip "sfondo"
    if (zoom) {
    _root.sfondo._yscale += 5;
    _root.sfondo._xscale += 5;
    }
    }
    onClipEvent(mouseDown){
    //dichiara mx e my come posizione del mouse
    mx = _root._xmouse;
    my = _root._ymouse;
    //controlla che il mouse sia sul clip "zoomin"
    if(_root.zoomin.hitTest(mx,my,true)) {
    //se il pulsante si trova sul pulsante ""zoomin"
    //dichiara valida la funzione di rimpicciolimento "zoom"
    zoom = true;
    }
    }
    onClipEvent(mouseUp){
    //se non si tiene il mouse premuto la zoommata si ferma
    zoom = false;
    }
    e questo è lo script per "zoomout"
    onClipEvent (enterFrame) {
    //dichiara la funzione zoom2 che rimpicciolisce il clip
    if (zoom2) {
    _root.sfondo._yscale -= 5;
    _root.sfondo._xscale -= 5;
    }
    }
    onClipEvent(mouseDown){
    //dichiara mx e my come posizione del mouse
    mx = _root._xmouse;
    my = _root._ymouse;
    //controlla che il mouse sia sul clip "zoomout"
    if(_root.zoomout.hitTest(mx,my,true)) {
    //se il pulsante si trova sul pulsante ""zoomout"
    //dichiara valida la funzione di rimpicciolimento "zoom2"
    zoom2 = true;
    }
    }
    onClipEvent(mouseUp){
    zoom2 = false;
    }


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.