Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Collisioni Multiple

  1. #1

    Collisioni Multiple

    Salve a tutti (e speriamo che sta volta qualkuno risponda),

    Ho un movieclip dentro il quale faccio "materializzare" delle macchine tramite attachMovie... le auto sono scelte Random, la posizione y anke random, e anke la velocità random...

    ora, la funzione ke va partire una macchina a caso, viene richiamata ogni secondo con setInterval... e finquì ok...

    Ora io vorrei ke se una makkina è sulla stessa traiettoria di una + avanti... quando i 2 mc si toccano ... quella dietro deve rallentare, e quella davanti deve accelerare un pochino...

    come posso gestire il tutto (tramite hitTest ovviamente)... ActionScript 2.0

    Grazie Mille a ki Risponde!!

    Qui il Codice ke crea le auto: (questo codice è ripetuto per ogni colore... i colori sono bianco, blu, fucsia, rosso, nero, e verde)

    Codice PHP:
    // auto bianche
    for(i=0;i<5;i++)
    {
        
    this.attachMovie("bianca""bianca"+i,getNextHighestDepth());
        
    this["bianca"+i]._visible true;
        
    this["bianca"+i]._x 0;
        
    this["bianca"+i]._y 0;
        
    this["bianca"+i]._rotation 90;

    dopo dichè, questo è il codice ke fa animare le auto:

    Codice PHP:

    function scegliAuto()
    {
        return 
    int(Math.random() * 5);
    }

    function 
    velAuto()
    {
        var 
    casuale:Number Math.random() * 40;
        
        if(
    casuale <= 4)
        {
            
    casuale += 4;
        }
        
        return 
    casuale;
    }

    function 
    scegliColore()
    {
        var 
    colori:Array = new Array("bianca""blu""fucsia""nera""rossa""verde");
        
        return 
    colori[int(Math.random() * colori.length)];
    }

    function 
    asseY()
    {
        var 
    tempY:Number Math.random() * 101;
        
        return(
    _parent.numMinMax(-7130tempY));
    }

    function 
    Movimenti()
    {
        
        var 
    autoScelta:String  scegliColore() + scegliAuto();
        var 
    velCar:Number velAuto();
        var 
    carY:Number asseY();
        var 
    colori:Array = new Array("bianca""blu""fucsia""nera""rossa""verde");
        
        
        
    _root.enemy[autoScelta].velCa velCar;

        
    _root.enemy[autoScelta]._y carY;
        
        
    _root.enemy[autoScelta].onEnterFrame = function()
        {
            
                
    _parent.move(_root.enemy[autoScelta].velCa_root.enemy[autoScelta]);
                
                if(
    _root.enemy[autoScelta]._x > (Stage.width)+150)
                {
                    
    _root.enemy[autoScelta]._x = -Stage.width;
                    
    delete this.onEnterFrame;
                }
            
        }
    }

    setInterval(Movimenti500); 
    questi codici stanno al primo ed unico frame del mc enemy posto sullo stage...
    la funzione _parent.move ha come primo parametro la velocità, e come secondo il mc dove applicarlo...

  2. #2
    Se metto all'enterFrame:

    codice:
    for(u=0; u<colori.length; u++)
    		{
    			for(a=0; a<5; a++)
    			{
    				if(_root.enemy[autoScelta]._x > 0 && _root.enemy[autoScelta].hitTest(_root.enemy[colori[u]+a]))
    				{
    					_root.enemy[autoScelta].velCa = 0;
    				}
    			}
    		}
    le macchine come arrivano alla coordinata x=0 si fermano... ma io nella condizione ho chiaramente espresso ke dalla coordinata x=0 in poi, solo se si toccano i mc si deveono fermare!!!

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.