Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    hitTest con attachMovie

    Ho un clip nello stage , una coccienlla per intenderci, sto facendo un gioco.

    La muovo cosi

    :

    onClipEvent (load) {
    direzione = 0;
    speed = 0;
    }
    onClipEvent (enterFrame) {
    if ((Key.isDown(Key.UP)) && (speed<10)) {
    speed += 1;
    }
    if (Key.isDown(Key.DOWN)) {
    speed += -1;
    }
    if (Key.isDown(Key.RIGHT)) {
    direzione += 15;
    }
    if (Key.isDown(Key.LEFT)) {
    direzione += -15;
    }
    xspeed = Math.cos(dir*Math.PI/180)*speed;
    yspeed = Math.sin(dir*Math.PI/180)*speed;
    _x += xspeed;
    _y += yspeed;
    _rotation = direzione;
    }


    Fin qui mi funge, adesso vorrei creare con attachMovie o con duplicateMovieclip 30 piccoli fiori e la coccinella spostandosi nello stage li dovrebeb mangiare cioè falli scomparire.


    Metto in un clip vuoot o nello stersso clip fiore questa azione

    onClipEvent (load) {
    for (i=1; i<30; i++) {
    _root.attachMovie("fiore", "fiore"+i, i);
    _root<"fiore"+i>._x =int(Math.random()*550);
    _root<"fiore"+i>._y = int(Math.random()*550);
    }
    }


    Ben i clip li creo ma la coccinella anche se li tocca è come se non trova il livello dei clip:


    Nella coccinella che muovo ho aggiunto questo:

    onClipEvent (enterFrame) {
    if (this.hitTest(_root<"fiore"+i)) {
    _root<"fiore"+i>._visible=0;
    _root.punteggio += 1;
    }
    }

    La coccinella li tocca ma ci passa sotto.

    Provo con duplicateMovieClip

  2. #2
    onClipEvent (enterFrame) {
    for(i=0;i<30;i++){
    if (this.hitTest(_root["fiore"+i])) {
    _root["fiore"+i]._visible=0;
    _root.punteggio += 1;
    }
    }
    }
    "...non è detto che sia tardi se non guardi che ora è..."

  3. #3
    Ora mi funge ma non capisco perchè dovevo far eun ciclo per controllare dato che c'è onClipEvent(enterFrame)

    ???

  4. #4
    perchè la var i non ha nessun valore se non lo dai tu, quindi senza ciclo tu continui a controllare
    _root["fiore"+ ]
    cioè niente
    "...non è detto che sia tardi se non guardi che ora è..."

  5. #5
    Ok ora mi funge, ma ho un altro piccolo problema, ho modificato lo script cosi:

    onClipEvent (enterFrame) {
    for(i=0;i<30;i++){
    if (this.hitTest(_root["fiore"+i])) {
    _root.punteggio += 50;
    attachMovie("punti" ,"punti"+i, i);
    _root["punti"+i]._x= _root["fiore"+i]._x;
    _root["punti"+i]._y= _root["fiore"+i]._y;
    removeMovieClip(_root["fiore"+i]);
    }
    }
    }
    Cioè ho fatto un clip con un testo "50" ceh sfuma per simulare l'assegnazione di 50 punti.

    L'azione mi funge in parte ciè solo su alcuni clip.
    Forse invece di i dovrei mettere uan variabile diversa.

    I punti si vedono solo per 3-4 clip colpiti

  6. #6
    prova

    onClipEvent (enterFrame) {
    for(i=0;i<30;i++){
    if (this.hitTest(_root["fiore"+i])) {
    _root.punteggio += 50;
    attachMovie("punti" ,"punti"+i, i+100);
    _root["punti"+i]._x= _root["fiore"+i]._x;
    _root["punti"+i]._y= _root["fiore"+i]._y;
    removeMovieClip(_root["fiore"+i]);
    }
    }
    }
    "...non è detto che sia tardi se non guardi che ora è..."

  7. #7
    Mi funge per i prim 3-4 fiori

  8. #8
    prova a mettere nell'ultimo frame della clip punti

    removeMovieClip (this);
    "...non è detto che sia tardi se non guardi che ora è..."

  9. #9
    Ho risolto il problema :


    http://members.xoom.virgilio.it/pepigno75/cocci.htm


    Grazie a tutti

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.