Суббота, 26.05.2012, 18:48


Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [170]
Статьи об общих понятиях связанных с созданием игр
Движки и Гейммейкеры [85]
Статьи о программах для создания игр
Игры [39]
Статьи об играх, в том числе и сделанных на гейммейкерах
Софт [25]
Различные программы, в том числе в помощь игроделам
Разное [61]
Статьи, которые не вошли в определённые разделы
Наш опрос
На какую платформу/систему создаёте игры?
Всего ответов: 5979
Главная » Статьи » Игры

Урок "уничтожение стены" (Flash, actionScript2.0, вид сверху)
В этом уроке я расскажу вам о уничтожении стены. В этом примере используется как бы вид сверху, но вы можете использовать этот эффект в любом виде и жанре. Суть вопроса - при стрельбе в стену образовывается большая выбоина, если много стрелять можно уничтожить всю стену. Для начала работы нам нудно создать мувик "hero" а в нем 16 мувиков p1, p2, p3 .... p15, p16. На скрине №1 показано как они расположены.

Скрин №1:

Далее рисуем стену в которую будем стрелять и называем ее "stena". Далее спецэффект взрыва "vz". Создаем мувик "w" с координатами (0,0), а в нем создаем белую выбоину с именем "white". Все с подготовкой закончено кидаем в рут этот код:

Code
hero_speed=6
w_n=0
onEnterFrame=function(){
   
//движение
  livo=0
  pravo=0
  niz=0
  verh=0
if(Key.isDown(65)){//лево
livo=1
}
if(Key.isDown(68)){//право
pravo=1
}
if(Key.isDown(83)){//вниз
niz=1
}
if(Key.isDown(87)){//вверх
verh=1
}

if((livo==1)and(pravo==0)and(niz==0)and(verh==0)){
hero._x-=hero_speed
}
if((livo==0)and(pravo==1)and(niz==0)and(verh==0)){
hero._x+=hero_speed
}
if((livo==0)and(pravo==0)and(niz==1)and(verh==0)){
hero._y+=hero_speed
}
if((livo==0)and(pravo==0)and(niz==0)and(verh==1)){
hero._y-=hero_speed
}
if((livo==1)and(pravo==0)and(niz==1)and(verh==0)){
hero._x-=hero_speed/Math.sqrt(2)
hero._y+=hero_speed/Math.sqrt(2)
}
if((livo==1)and(pravo==0)and(niz==0)and(verh==1)){
hero._x-=hero_speed/Math.sqrt(2)
hero._y-=hero_speed/Math.sqrt(2)
}
if((livo==0)and(pravo==1)and(niz==1)and(verh==0)){
hero._x+=hero_speed/Math.sqrt(2)
hero._y+=hero_speed/Math.sqrt(2)
}
if((livo==0)and(pravo==1)and(niz==0)and(verh==1)){
hero._x+=hero_speed/Math.sqrt(2)
hero._y-=hero_speed/Math.sqrt(2)
}
//end движение

hero._rotation=Math.atan2(_ymouse-hero._y,_xmouse-hero._x)/Math.PI*180+90

//hit stena
for(i=1;i<17;i++){
  if((stena.hitTest(hero["p"+i]._x+hero._x,hero["p"+i]._y+hero._y,true))
  and(w.hitTest(hero["p"+i]._x+hero._x,hero["p"+i]._y+hero._y,true)==false)){
  ugol=Math.atan2(hero["p"+i]._y,hero["p"+i]._x)
  for(i2=1;i2<30;i2++){
  hero._x-=0.3*Math.cos(ugol)
  hero._y-=0.3*Math.sin(ugol)
  if((stena.hitTest(hero["p"+i]._x+hero._x,hero["p"+i]._y+hero._y,true)==false)
  or(w.hitTest(hero["p"+i]._x+hero._x,hero["p"+i]._y+hero._y,true))){
  i2=31
  }
  }
  }
}
//end hit stena

//strelba
but.onPress=function(){
  w.white._x=hero._x
  w.white._y=hero._y
  for(i=1;i<300;i++){
  w.white._x+=2*Math.cos(Math.atan2(_ymouse-hero._y,_xmouse-hero._x))
  w.white._y+=2*Math.sin(Math.atan2(_ymouse-hero._y,_xmouse-hero._x))
  w.white._rotation=Math.random()*360
  if((stena.hitTest(w.white._x,w.white._y,true))and(w.hitTest(w.white._x,w.white._y,true)==false)){
  i=301
  vz._x=w.white._x
  vz._y=w.white._y
  vz.gotoAndPlay(2)
  }
  }
  w_n++
  w.white.duplicateMovieClip("white"+w_n,w_n)
}
//end strelba

}//end enterFrame

Для плавности движений можно поставить частоту 30 фпс.

Скачать:
[swf]
[exe]
[fla]

Flash файлы сохранены в 9-ой версии.

Скриншоты:

Категория: Игры | Добавил: apoptom (29.10.2010) | Автор: Юрий Сухоставский
Просмотров: 2614 | Рейтинг: 5.0/3
Теги: ActionScript, Вид сверху, stena, actionScript2.0, уничтожение стены, стена, флэш, флеш, flash
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Урок "уничтожение стены" (Flash, actionScript2.0, вид сверху)», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями. Для этого воспользуйтесь предлагаемой ниже кнопкой:
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ссылки по теме
Поиск
10 случайных движков
ArcEngine
Mortal Szombat
Game Creator
Ren'Py
Rus Quests Maker Dvade
Wintermute Engine
Eternity Engine
Scroller Game Creator
Garry's mod
DizzyAGE
Друзья сайта
Игровой форум GFAQ.ru Перевод консольных игр Разработка игр в СНГ Loadka.ru – загрузка файлов Игорный бизнес в России Реклама и заработок
Все права сохранены. GcUp.ru © 2008-2012 Рейтинг