Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661

    richiamare funzione con il click del mouse o tasto del cursore...

    nextframe=function () {
    gotoAndPlay(2);
    for (z=1; z<=108; z++) {
    nome = "mask"+i;
    this.mask[nome].removeMovieClip();
    }
    }

    io voglio richiamare questa funzione.. con un click del mouse... come si fa?

    e se voglio fare una navigazione con i tasti del cursore tipo "prev" "next"?

    Grazie


  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    puoi utilizzare un listener per la classe Mouse, in base alla funzione "onMouseDown" oppure "onMouseUp", così ogni volta che clicchi verrà eseguita la funzione esposta

    Codice PHP:
    var nextframe = function (path) {
        
    path.gotoAndPlay(2);
        for (
    z=1z<=108z++) {
            var 
    clip path.mask["mask"+i];
            
    clip.removeMovieClip();
        }
    }
    var 
    obj = new Object();
    obj.path this;
    obj.onMouseDown = function() {
        
    nextframe(this.path);
    }
    Mouse.addListener(obj); 
    ps. come puoi notare, ho modificato leggermente la tua funzione nextframe, perchè la funzione richiamata all'interno dell'evento assume lo scope del this come riferimento all'oggetto listener (obj)

    per quanto riguarda la seconda richiesta, sostanzialmente si tratta della stessa situazione, solo che invece di sfruttare l'oggetto Mouse, si utilizza l'oggetto Key e il rispettivo onKeyPress

    nel caso dei due pulsanti avresti una situazione del genere

    Codice PHP:
    var keyList = new Object();
    keyList.path this;
    keyList.onKeyDown = function(){
        if(
    Key.isDown(Key.LEFT)){
            
    gotoPrevFrame(this.path);
        } else if(
    Key.isDown(Key.RIGHT)){
            
    gotoNextFrame(this.path);
        }
    }
    Key.addListener(keyList); 

  3. #3
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    ciao,

    grazie per la risposta...
    lo script non è mio... l'ho preso da un fla di rempox effetti di maskere...

    però ora non va... se cambio il nextframe....

    il clip che genera la maskera ha questo codice:
    codice:
    onClipEvent (load) {
    	my_x = 78;
    	my_y = 58.5;
    	K = 0;
    	_parent.createEmptyMovieClip("mask", i);
    	_parent.fotobase.setMask(_parent.mask);
    	for (i=1; i<=158; i++) {
    		nome = "mask"+i;
    		_parent.mask.createEmptyMovieClip(nome, i);
    		with (_parent.mask[nome]) {
    			beginFill(0xFF9900, 100);
    			lineStyle(1, 0xFF9900, 0);
    			moveTo(0, 0);
    			lineTo(78, 0);
    			lineTo(78, 58.5);
    			lineTo(0, 58.5);
    			lineTo(0, 0);
    			endFill();
    		}
    	}
    	for (k=0; k<14; k++) {
    		for (j=1; j<=14; j++) {
    			inc = K*14+j;
    			nome = "mask"+inc;
    			_parent.mask[nome]._x = -55+j*my_x-my_x;
    			_parent.mask[nome].startX = -55+j*my_x-my_x;
    			_parent.mask[nome]._y = k*my_y;
    			_parent.mask[nome].startY = k*my_y;
    			_parent.mask[nome]._xscale = 0;
    			_parent.mask[nome]._yscale = 0;
    			_parent.mask[nome].startSize = function() {
    				clearInterval(this.ID);
    				this.ID = setInterval(this, "doSize", 20);
    			};
    			_parent.mask[nome].doSize = function() {
    				if (this._xscale<100) {
    					this._xscale += 5;
    					this._yscale += 5;
    					this._x = this.startX-(this._width/2);
    					// Se metti il + cambia effetto
    					this._y = this.startY-(this._height/2);
    					// Se metti il + cambia effetto
    				} else {
    					clearInterval(this.id);
    				}
    			};
    			_parent.mask[nome].intervallo = (k+j)*200;
    			_parent.mask[nome].ID = setInterval(_parent.mask[nome], "startSize", _parent.mask[nome].intervallo);
    		}
    	}
    }
    cosa sai dirmi?


    grazie

  4. #4
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    mi sono incartato... posso chiederti la gentilezza di inviarti il fla...



  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    hai già la mia mail? gli posso dare solo un'occhiata però perchè tra un po' devo andar via

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non capisco però, ma l'hai preso pari pari da quello di rempox e funzionava?

    perchè qui

    nextframe=function () {
    gotoAndPlay(2);
    for (z=1; z<=108; z++) {
    nome = "mask"+i;
    this.mask[nome].removeMovieClip();
    }
    }

    dovrebbe esserci z e non i

  7. #7
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    ora le slide le vedo... non sono coperte.. ma il problema ora è che non fa l'animazione...
    ed il tuo suggerimento funziona alla grande...

    dovevo cambiare il nome della funzione da nextframe (che tra l'altro è un nome riservato) a goToNextFrame...


    fammi sapere... la mia proposta è sempre valida...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.