Chiałbym, żeby ktoś bardzo dokładnie wytłumaczył mi co robi każda linijka tego kodu. Jest to gra arkanoid w programie Swith Max3 (daję ją do załącznika).

Obiekty:
pad = pałka która odbija spadającą piłeczkę
rect = kolcki, które się zbija
ball = piłeczka

Skrypt piłeczki:

 
onSelfEvent (load) {
dir = Math.Round(Math.random() * 1);
speed =10;

if (dir == 1) {
var Ang = 45;
} else {
var Ang = 135;
}

xspeed = speed * Math.cos((Ang) * Math.PI / 180);
yspeed = speed * Math.sin((Ang) * Math.PI /180);
}

onSelfEvent (enterFrame) {
this._x += xspeed;
this._y += yspeed;
if ((this._x <= _root.ball._width/2) || (this._x >= Stage.width - _root.ball._width/2)) {
xspeed = -xspeed;
}

if (this._y <= _root.ball._width/2) || (_root.pad.hitTest(this))) { yspeed = -yspeed;
}
if (this._y > Stage.height- root.ball._height/2) {
_x = 280;
_y = 180;

dir = Math.round(Math.random() * 1);
speed = 10;
id (dir == 1) {
var Ang = 45;
} else {
var Ang = 135;
}
xspeed = speed * Math.cos((Ang) * Math.PI / 180);
yspeed = speed * Math.sin((Ang) * Math.PI / 180);
}

Skrypt Scene_1 (sceny pierwszej):

OnFrame (1) {
//zmienne:
wiersze = 6;
kolumny = 8;
odstep_m_wierszami = 5;
odstep_m_kolumnami = 6;
odsep_x_od_0 = 10;
odstep_y_od_0 = 24;

rect._visible = false;
counter = 0;
for (i=0; i<wiersze; i++) {
for (j=0; J<kolumny; j++) {
rect.duplicateMovieClip("rect" + counter, counter);
copyRect = eval("rect" + counter);

copyRect._x = odtep_x_od_0 +j * (odstep_m_kolumnami+_root.rect._width);
copyRect._y = odsep_y_od_0 +i * (odstep_m_wierszami+_root.rect._height);

}
}
} 

jeśli komuś wygodniej to daję kod jako obrazek:

Piłeczka

http://zapodaj.net/a4eff8e5495bf.png.html

Scena 1

http://zapodaj.net/a7cbe54f37dc2.png.html

PS.nie wiem jak dodać obrazek na wasz serwer. Nie wiem o co chodzi z tym < image> foo < /image >