Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Bilo koja pozicija actionscript 3.0

[es] :: Flash :: Bilo koja pozicija actionscript 3.0

[ Pregleda: 3147 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

anarchistforever
Stefan Mitrovic

Član broj: 315489
Poruke: 6
195.149.194.*



Profil

icon Bilo koja pozicija actionscript 3.018.06.2013. u 10:40 - pre 131 meseci
Pozdrav, znaci kao sto je prikazano na slici, imam jedan krug, i hocu da se pri svakom pokretanju programa nalazi na nekom drugom mestu, ali da ne udara u zidove ili bude van zidova, kako to da uradim?
 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.dynamic.sbb.rs.



+28 Profil

icon Re: Bilo koja pozicija actionscript 3.018.06.2013. u 15:22 - pre 131 meseci
Prvo što treba da utvrdiš jeste pozicija zida kao i debljina svake linije. Ako se on nalazi na ivicama stage-a i ako je širina svake linije 10px onda će minimalne x i y pozicije lopte biti 10. Da bi pri svakom pokretanju swf-a prikazao loptu na različitoj poziciji onda ćeš koristiti random() metodu Math klase, koja vraća vrednost između 0 i 1, pa da bi dobio broj koji ćeš moći da koristiš kao poziciju moraš tu vrednost da pomnožiš sa 100. Da bi od te izabrane slučajne vrednosti dobio ceo broj upotrebi round() metodu koja odseca decimalni deo i vraća ceo broj. Ostaje ti još da ispitaš da li je generisani broj veći od 10 (koliko je širina zida), kako za poziciju na x tako i za poziciju na y osi. Evo ti jedno brzo rešenje:

Code:
stage.addEventListener(Event.ENTER_FRAME, prikazLopte);

function prikazLopte(event:Event):void
{
    var xPozicija:int = Math.round(Math.random()*100);
    var yPozicija:int = Math.round(Math.random()*100);
    if(xPozicija > 10 && yPozicija > 10){
        loptaMC.x = xPozicija;
        loptaMC.y = yPozicija;
    } else {
        loptaMC.x = 10;
        loptaMC.y = 10;
    }
    
    stage.removeEventListener(Event.ENTER_FRAME, prikazLopte);
}


U ovom slučaju je minimalna pozicija lopte na x i y osi 10, a maksimalna je 100. Ukoliko ti je oblast unutar zida veća od 100 onda treba da dodaš ostatak kako bi lopta mogla da se prikažena svim površinama unutar zidova. Najbolje bi bilo da postaviš taj FLA da bih mogao konkretnije da ti objasnim.
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

[es] :: Flash :: Bilo koja pozicija actionscript 3.0

[ Pregleda: 3147 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.