Преглед на урок

Игра "Кола" - Flash

Игра "Кола" - Flash




Със следващия урок ви предлагам да си направите малка игра, в която фигурка, в случая тази малка количка се движи посредством стрелките на клавиатурата. Да се направи не е трудно, а е много полезна за тези от вас, които искат по-късно да правят и по-сложни игри с Macromedia Flash!

И така, да започваме.

1. Първо, отворете нов документ, и нарисувайте количката. Ако рисуването не ви се отдава много, можете да вземете и количката, която направих аз.

2. След тази процедура, кликнете на количката два пъти, и я направете на символ, както е показано: (Може и чрез натискането на F8, както ви е по-лесно)



3. Настройте, както е показано на картинката:



4. Уверете се, че сте нагласили Properties, както е показано на картинката:



5. Сега спокойно можете да отворите Action-менюто (F9) и да Paste-нете следния скрипт, който преработих за вас, за да се движи колата по-бавно, и да е по-маневрена. Ето Action-скрипта:
[color=blue]
onClipEvent (load) {
//listen for key presses
downCapture = new Object();
downCapture.onKeyDown = function () {
switch (Key.getCode()) {
case Key.LEFT: left = true; break;
case Key.RIGHT: right = true; break;
case Key.UP: up = true; break;
case Key.DOWN: down = true; break;
}
}
Key.addListener(downCapture);
//listen for key returns
upCapture = new Object();
upCapture.onKeyUp = function () {
switch (Key.getCode()) {
case Key.LEFT: left = false; break;
case Key.RIGHT: right = false; break;
case Key.UP: up = false; break;
case Key.DOWN: down = false; break;
}
};
Key.addListener(upCapture);
rotateBy = 9; //how much we should rotate every frame (L/R key is pressed)
accelleration = 5; //how much we should move every frame (when Up key is pressed)
function radtodeg(deg) { //convert radians to degrees (for later)
return (deg/180) * Math.PI;
}
}
onClipEvent (enterFrame) {
if (left) { _rotation -= rotateBy } //rotate counter-clockwise
if (right) { _rotation += rotateBy } //rotate clockwise
if (up) {
if (accelleration < 10) { //if is below accelleration limit then allow to accellerate
accelleration++;
}
//calculate where the car will move to:
angle = _rotation;
angle = radtodeg(angle-90);
by_x = accelleration * Math.cos(angle)
by_y = accelleration * Math.sin(angle)
_x +=by_x //move the car here
_y +=by_y // and here
}
}

6. Вече всичко е готово, сега можете да видите крайния резултат, чрез натискането на Ctrl + Enter. Забавлявайте се!

А ето какво се получи при мен:

[html]
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="350" height="350" title="studio-bg.com">
<param name="movie" value="http://itschool.bg/application/uploads/tutorials/img/f/kola/kola.swf" />
<param name="quality" value="high" />
<embed src="http://itschool.bg/application/uploads/tutorials/img/f/kola/kola.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="350" height="350"></embed>
</object>[/html]

Източник: [link=http://pixel2life.com]www.pixel2life.com[/link]

Ако урокът ви допада, споделете го в Twitter и Facebook или го запазете в Delicious.




Урокът е добавен от: bubsss

Добави коментар

Трябва да сте регистиран потребител за може да оставяте коментари! Направете своята безплатна регистрация още сега.