Создаем красивый игровой баннер.
Flash game creation tutorial Источник: http://www.emanueleferonato.com/2006/11/18/flash-game-creation-tutorial-part-2/ Результат: -----------------------Герой (Hero) Назовем нашего главного героя Ball. И заставим его тут же двигаться вправо и влево, ввурх и назад в зависимости от нажатой клавиши. Первый код для нашего кружка будет выглядеть так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { _x--; } if (Key.isDown(Key.RIGHT)) { _x++; } if (Key.isDown(Key.UP)) { _y--; } if (Key.isDown(Key.DOWN)) { _y++; } }
Сила (Power) Зададим кружку постоянную скорость.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 onClipEvent (load) { power = 3; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { _x -= power; } if (Key.isDown(Key.RIGHT)) { _x += power; } if (Key.isDown(Key.UP)) { _y -= power; } if (Key.isDown(Key.DOWN)) { _y += power; } }
Изменяйте значение power и круг будет двигаться быстрее и медленнее.Скорость (Speed) Зададим кругу постоянную скорость:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 onClipEvent (load) { power = 0.2; yspeed = 0; xspeed = 0; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed -= power; } if (Key.isDown(Key.RIGHT)) { xspeed += power; } if (Key.isDown(Key.UP)) { yspeed -= power; } if (Key.isDown(Key.DOWN)) { yspeed += power; } _y += yspeed; _x += xspeed; }
Трение (Friction) Наш кружок будет двигаться не вечно:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 onClipEvent (load) { power = 0.3; yspeed = 0; xspeed = 0; friction = 0.95; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed -= power; } if (Key.isDown(Key.RIGHT)) { xspeed += power; } if (Key.isDown(Key.UP)) { yspeed -= power; } if (Key.isDown(Key.DOWN)) { yspeed += power; } xspeed *= friction; yspeed *= friction; _y += yspeed; _x += xspeed; }
Гравитация (The Gravity) Согласно нашей гравитации круг будет падать вниз:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 onClipEvent (load) { power = 0.3; yspeed = 0; xspeed = 0; friction = 0.95; gravity = 0.1 } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed -= power; } if (Key.isDown(Key.RIGHT)) { xspeed += power; } if (Key.isDown(Key.UP)) { yspeed -= power; } if (Key.isDown(Key.DOWN)) { yspeed += power; } xspeed *= friction; yspeed += gravity; _y += yspeed; _x += xspeed; }
Толчок (The Thrust) Изменили гравитацию - изменим и движение вверх:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 onClipEvent (load) { power = 0.3; yspeed = 0; xspeed = 0; friction = 0.95; gravity = 0.1; thrust = 0.75; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed -= power; } if (Key.isDown(Key.RIGHT)) { xspeed += power; } if (Key.isDown(Key.UP)) { yspeed -= power*thrust; } if (Key.isDown(Key.DOWN)) { yspeed += power*thrust; } xspeed *= friction; yspeed += gravity; _y += yspeed; _x += xspeed; }
Ветер (The Wind) Что сейчас!? бУДЕМ ДЕЛАТЬ Ветер!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 onClipEvent (load) { power = 0.3; yspeed = 0; xspeed = 0; friction = 0.95; gravity = 0.1; thrust = 0.75; wind = 0.09; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed -= power; } if (Key.isDown(Key.RIGHT)) { xspeed += power; } if (Key.isDown(Key.UP)) { yspeed -= power*thrust; } if (Key.isDown(Key.DOWN)) { yspeed += power*thrust; } xspeed += wind; xspeed *= friction; yspeed += gravity; _y += yspeed; _x += xspeed; }
Вращение (The Rotation) Вращение вправо - по часовой, а влево против часовой стрелки.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 onClipEvent (load) { power = 0.65; yspeed = 0; xspeed = 0; friction = 0.99; gravity = 0.1; thrust = 0.75; wind = 0.05; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed -= power; } if (Key.isDown(Key.RIGHT)) { xspeed += power; } if (Key.isDown(Key.UP)) { yspeed -= power*thrust; } if (Key.isDown(Key.DOWN)) { yspeed += power*thrust; } xspeed += wind; xspeed *= friction; yspeed += gravity; _y += yspeed; _x += xspeed; _rotation += xspeed; }
Исходники: zipped file Границы (The bounds) Если коснется границы - вернется:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 onClipEvent (load) { yspeed = 0; xspeed = 0; wind = 0.00; power = 0.65; gravity = 0.1; upconstant = 0.75; friction = 0.99; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed = xspeed-power; } if (Key.isDown(Key.RIGHT)) { xspeed = xspeed+power; } if (Key.isDown(Key.UP)) { yspeed = yspeed-power*upconstant; } if (Key.isDown(Key.DOWN)) { yspeed = yspeed+power*upconstant; } xspeed = (xspeed+wind)*friction; yspeed = yspeed+gravity; _y = _y+yspeed; _x = _x+xspeed; _rotation = _rotation+xspeed; if (_root.wall.hitTest(_x, _y, true)) { xspeed = 0; yspeed = 0; _x = 120; _y = 120; } }
Монета (The coin) – 1ая попытка (1st attempt) Берем монетки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 onClipEvent (load) { yspeed = 0; xspeed = 0; wind = 0.00; power = 0.65; gravity = 0.1; upconstant = 0.75; friction = 0.99; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed = xspeed-power; } if (Key.isDown(Key.RIGHT)) { xspeed = xspeed+power; } if (Key.isDown(Key.UP)) { yspeed = yspeed-power*upconstant; } if (Key.isDown(Key.DOWN)) { yspeed = yspeed+power*upconstant; } xspeed = (xspeed+wind)*friction; yspeed = yspeed+gravity; _y = _y+yspeed; _x = _x+xspeed; _rotation = _rotation+xspeed; if (_root.wall.hitTest(_x, _y, true)) { xspeed = 0; yspeed = 0; _x = 120; _y = 120; } if (_root.coin.hitTest(_x, _y, true)) { _root.coin._x = Math.random()*400+50; } }
Соберите все монетки.Монета (The coin) – 2ая попытка (2nd attempt) Изменяим строчку 34
1 if (_root.coin.hitTest(this)) {
Теперь вся ворма кружка, а не один пиксель козволит проще собирать монеты:Монета (The coin) – 3 попытка (3rd attempt) Создаем новый мувик и назовем его "hero_hit" и вставьте в наш кружок (он же hero), по центру. Это темно-синий квадрат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 onClipEvent (load) { yspeed = 0; xspeed = 0; wind = 0.00; power = 0.65; gravity = 0.1; upconstant = 0.75; friction = 0.99; } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { xspeed = xspeed-power; } if (Key.isDown(Key.RIGHT)) { xspeed = xspeed+power; } if (Key.isDown(Key.UP)) { yspeed = yspeed-power*upconstant; } if (Key.isDown(Key.DOWN)) { yspeed = yspeed+power*upconstant; } xspeed = (xspeed+wind)*friction; yspeed = yspeed+gravity; _y = _y+yspeed; _x = _x+xspeed; _rotation = _rotation+xspeed; if (_root.wall.hitTest(_x, _y, true)) { xspeed = 0; yspeed = 0; _x = 120; _y = 120; } if (_root.coin.hitTest(this.hero_hit)) { _root.coin._x = Math.random()*400+50; } }
Исходники:
Download the source code
Друзья
партнеры
Внимание!!
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0