Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problemi con while()

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100

    Problemi con while()

    Cercherò di spiegarvi il mio problema il più chiaramente possibile:

    io devo fare in modo che sullo stage si presentino due immagini in posizioni ogni volta random. Per fare questo tramite attachMovie ho richiamato le immagini e le ho posizionate su coordinate random tramite Math.random
    adesso però provando e riprovando naturalmente ci sono alcune presentazioni in cui le immagini sono sovrapposte...cosa che io vorrei assolutamente evitare!!!
    Per evitare ciò mi sono chiamato una variabile distanzaX = oggetto1._x - oggetto2._x e tramite if l'ho resa sempre positiva per evitarmi numeri negativi.
    Dopodichè ho pensato che tramite un ciclo while potessi risolvere il problema e così ho creato il ciclo come questo:

    while(distanzaX < 120)
    {
    oggetto1._x = Math.random()* //i miei valori utili
    oggetto2._x = Math.random()* // i miei valori utili
    }

    Fatto ciò appena carico il .swf, si incazza e si blocca dicendomi che devo interrompere uno script in esecuzione che altrimenti si blocca il programma!!!!
    Qualcuno sa aiutarmi per risolvere il problema??? Può essere che le istruzioni di while in realtà non sono scritte in modo di ricreare le coordinate x dei due oggetti????

    Vi prego aiutatemi che è tre giorni che sto sbattendo le corna su questa cosa!!

  2. #2
    ma questo while sta in un altro script...posta anche quello x capire...

    quando fa quel controllo??
    dopo che ha attaccato le foto sullo stage?
    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
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    no no, sta tutto nel primo fotogramma e io ho inserito tutto sotto la funzione
    function onLoad()
    {
    ....
    }

    sia le variabili degli oggetti sia la distanzaX sia il ciclo while sono qui dentro...non ho altro

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    è come ti ho detto prima, per essere più chiaro però te lo incollo...

    function onLoad()
    {
    var distrattore = _root.attachMovie("distractor_mc", "distrattore", _root.getNextHighestDepth())
    distrattore._x = Math.random()*478+65;
    distrattore._y = Math.random()*232+60;

    var target = _root.attachMovie("target1_mc", "target", _root.getNextHighestDepth())
    target._x = Math.random()*478+65;
    target._y = Math.random()*232+65;

    var distanzaX = distrattore._x - target._x
    if (distanzaX < 0)
    {
    distanzaX = distanzaX* -1;
    }

    while (distanzaX < 120)
    {
    distrattore._x = Math.random()*478+65;
    target._x = Math.random()*478+65;
    }
    }

  5. #5
    beh secondo me in quel caso potresti usare anche un'altro if...

    in realta penso che da quel ciclo while nn riesce ad uscire..ecco xchè si impalla

    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 !

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    credo di aver finalmente risolto il problema inserendo tra le istruzioni del while nuovamente la variabile distanzaX così la rilegge nel ciclo con le coordinate nuove...pare funzionare ti sembra possibile e plausibile?

    ora il problema è che devo aumentare gli oggetti presentati in modo random fino a 12 e fare in modo che nessuno si sovrapponga!!!!!!!
    non ci riuscirò mai!!

  7. #7
    Originariamente inviato da onestova
    credo di aver finalmente risolto il problema inserendo tra le istruzioni del while nuovamente la variabile distanzaX così la rilegge nel ciclo con le coordinate nuove...pare funzionare ti sembra possibile e plausibile?

    ora il problema è che devo aumentare gli oggetti presentati in modo random fino a 12 e fare in modo che nessuno si sovrapponga!!!!!!!
    non ci riuscirò mai!!
    beh con le distanze la vedo dura..xchè i controlli saranno tanti...

    ma se provi con hittest.....mi sa di aver visto un pò di tempo fa una discussione che riguardava appunto sovrapposizione di clip sullo stage....

    magari ti fai una funzione con un ciclo for va a controllare che nn si siano sovrapposizioni...anche se poi il controllo nel caso che ci siano deve essere ripetuto....

    ps
    appena ho un attimo x sbariare vedo se riesco a buttar giù qualcosa....ovviamente senza impegno che ho tanto da fare ...e sono qui a caxxegiare....
    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 !

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    va bene...mi hai dato una buona idea...
    ti ringrazio gia in anticipo

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.