Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    225

    Problema con il passaggio di mc

    Ciao a tutti. Ho un problema con il passaggio di mc tra funzioni

    function casual () {
    max = 7;
    min = 1;
    var randomNum = Math.round(Math.random()*(max-min))+min;
    var nomepezzo = "Pezzo"+randomNum;
    i++;
    duplicateMovieClip (nomepezzo, "nomepezzo"+"_"+i, 5);
    setProperty ("nomepezzo"+"_"+i, _x, 50);
    mc = this[nomepezzo];
    movimento(mc);
    }


    Tramite questa funziono, inserita nel primo frame del layer 1, creo dei duplicati di movieclip. Il mio problema è che ora vorrei che la funzione chiamata alla fine gestisse il movimento dell'mc con l'evento onClipEvent(enterframe), ma non riesco a capire come gestire la cosa

    Per capirci, dove devo inserire il codice seguente?

    if (Key.isDown(Key.LEFT)) {
    this._x = (_x-5);
    }
    if (Key.isDown(Key.RIGHT)) {
    this._x = (_x+5);
    } ...


    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    225

    soluzione possibile?

    Questa può essere una strada di soluzione percorribile?
    Cosa sbaglio in tal caso?



    i = 1;
    function casual () {
    max = 7;
    min = 1;
    var randomNum = Math.round(Math.random()*(max-min))+min;
    var nomepezzo = "Pezzo"+ randomNum;
    i++;
    duplicateMovieClip (nomepezzo, "nomepezzo"+"_"+i, 5);
    setProperty ("nomepezzo"+"_"+i, _x, 60);
    mc = this["nomepezzo"+"_"+i]; //ho creato il duplicato
    e l'ho chiamato mc




    mc.onEnterFrame = function() { //questa cosa è corretta? è qui che ho l'errore...
    if (Key.isDown(Key.LEFT)) {
    mc._x = (mc._x-10);
    }
    if (Key.isDown(Key.RIGHT)) {
    mc._x = (mc._x+10);
    }
    if (Key.isDown(Key.UP)) {
    mc._y = (mc._y-10);
    }
    if (Key.isDown(Key.DOWN)) {
    mc._y= (mc._y+10);
    }
    }
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    225

    soluzione possibile?

    Questa può essere una strada di soluzione percorribile?
    Cosa sbaglio in tal caso?



    i = 1;
    function casual () {
    max = 7;
    min = 1;
    var randomNum = Math.round(Math.random()*(max-min))+min;
    var nomepezzo = "Pezzo"+ randomNum;
    i++;
    duplicateMovieClip (nomepezzo, "nomepezzo"+"_"+i, 5);
    setProperty ("nomepezzo"+"_"+i, _x, 60);
    mc = this["nomepezzo"+"_"+i]; //ho creato il duplicato
    e l'ho chiamato mc




    mc.onEnterFrame = function() { //questa cosa è corretta? è qui che ho l'errore...
    if (Key.isDown(Key.LEFT)) {
    mc._x = (mc._x-10);
    }
    if (Key.isDown(Key.RIGHT)) {
    mc._x = (mc._x+10);
    }
    if (Key.isDown(Key.UP)) {
    mc._y = (mc._y-10);
    }
    if (Key.isDown(Key.DOWN)) {
    mc._y= (mc._y+10);
    }
    }
    }

  4. #4
    Questo qui sotto hai detto che funziona anche se mi manca la parentesi che ti ho segnato in rosso
    codice:
    i = 1; 
    function casual () { 
    max = 7; 
    min = 1; 
    var randomNum = Math.round(Math.random()*(max-min))+min; 
    var nomepezzo = "Pezzo"+ randomNum; 
    i++; 
    duplicateMovieClip (nomepezzo, "nomepezzo"+"_"+i, 5); 
    setProperty ("nomepezzo"+"_"+i, _x, 60); 
    mc = this["nomepezzo"+"_"+i]; //ho creato il duplicato 
    e l'ho chiamato mc 
    }
    Ora
    Dando per buono il fatto che il tuo clip da muovere si chiama come istanza "mc" il codice che hai scritto è corretto tranne che per una parentesi } in più.

    io ho provato questo qui sotto e funziona

    codice:
    mc .onEnterFrame = function() { 
    if (Key.isDown(Key.LEFT)) { 
    mc._x = (mc._x-10); 
    } 
    if (Key.isDown(Key.RIGHT)) { 
    mc._x = (mc._x+10); 
    } 
    if (Key.isDown(Key.UP)) { 
    mc._y = (mc._y-10); 
    } 
    if (Key.isDown(Key.DOWN)) { 
    mc._y= (mc._y+10); 
    } 
    }
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    225
    Con questa linea

    mc = this["nomepezzo"+"_"+i]; //ho creato il duplicato
    e l'ho chiamato mc

    non ho creato forse un duplicato di nome mc? Te lo chiedo perchè non sono sicuro

    La parentesi che hai tolto è la graffa finale; io l'avevo inserita perchè la funzione mc.onEnterFrame = function() è dentro la funcion casual(). E' esatto?

    Grazie mille

  6. #6
    Originariamente inviato da Ivan Russo
    Con questa linea

    mc = this["nomepezzo"+"_"+i]; //ho creato il duplicato
    e l'ho chiamato mc

    non ho creato forse un duplicato di nome mc? Te lo chiedo perchè non sono sicuro

    La parentesi che hai tolto è la graffa finale; io l'avevo inserita perchè la funzione mc.onEnterFrame = function() è dentro la funcion casual(). E' esatto?

    Grazie mille
    prova come ti ho scritto sopra

    cioè chiudendo la funzione prima e poi dai mc.EnterFrame
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    225
    Niente da fare...
    Allora: ho inserito una copia dei clip originali con nome di istanza Pezzo1, Pezzo2, ..., Pezzo7 sullo stage e il codice completo che scrivo nella primo frame del layer 0 è il seguente:


    i = 1;
    function casual () {
    max = 7;
    min = 1;
    var randomNum = Math.round(Math.random()*(max-min))+min;
    var nomepezzo = "Pezzo"+randomNum;
    i++;
    duplicateMovieClip (nomepezzo, "nomepezzo"+"_"+i, 5);
    setProperty ("nomepezzo"+"_"+i, _x, 60);
    mc = this["nomepezzo"+"_"+i];
    }


    mc .onEnterFrame = function() {
    if (Key.isDown(Key.LEFT)) {
    mc._x = (mc._x-10);
    }
    if (Key.isDown(Key.RIGHT)) {
    mc._x = (mc._x+10);
    }
    if (Key.isDown(Key.UP)) {
    mc._y = (mc._y-10);
    }
    if (Key.isDown(Key.DOWN)) {
    mc._y= (mc._y+10);
    }
    }


    Le informazioni credo ci siano tutte. Accidenti. Doppio Accidenti. Trilpo Accidenti!

  8. #8
    ti ho mandato la mia mail in pvt
    se vuoi provo a darci un occhiata
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    225
    Magari! Ma dimmi dove leggo la mail alla quale mandarti il sorgente...

  10. #10
    miamail manda qui
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

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.