Понедельник, 11 Ноября 2024, 02:16

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

Меню сайта
Категории каталога
Создание игр [357]
Статьи об общих понятиях связанных с созданием игр.
Программирование [83]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [147]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [167]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [131]
Статьи, которые не вошли в определённые разделы.
Наш опрос
На какие из этих игровые системы вы разрабатываете игры?
Всего ответов: 1652
Главная » Статьи » Программирование

Урок "платформер - выравнивание под платформу" (actionScript2.0)
В этом уроке я расскажу как создать геймплей платформера с выравниванием под платформу. Под выравниванием под платформу, я имею ввиду, что главный герой, стоя на платформе, принимает перпендикулярное положение относительно ее. Для начала создадим главного героя - в моем случае это квадрат 50*50 (мувик) с именем "hero" и платфому (мувик) с именем "stena". Все, осталось кинуть код в рут:

Code
speed_ruh=10
padinnya=0
l1x=0
l1y=0
l2x=0
l2y=0
onEnterFrame=function(){
   
//движение
ugol=(hero._rotation+0)/180*Math.PI
if(Key.isDown(65)){//лево
hero._x-=speed_ruh*Math.cos(ugol)
hero._y-=speed_ruh*Math.sin(ugol)
}
if(Key.isDown(68)){//право
hero._x+=speed_ruh*Math.cos(ugol)
hero._y+=speed_ruh*Math.sin(ugol)
}
//end движение

//povorot
for(i=1;i<50;i++){
ugol1=(hero._rotation+180+5)/180*Math.PI
l1x=hero._x
l1y=hero._y
l1x+=25*Math.cos(ugol1)
l1y+=25*Math.sin(ugol1)

if(stena.hitTest(l1x,l1y,true)){//если касаемся слева  
//поворачиваем за часовой стрелкой
  hero._rotation+=1
}
ugol2=(hero._rotation-5)/180*Math.PI
l2x=hero._x
l2y=hero._y
l2x+=25*Math.cos(ugol2)
l2y+=25*Math.sin(ugol2)
if(stena.hitTest(l2x,l2y,true)){//если касаемся справа
//поворачиваем против часовой стрелки
  hero._rotation-=1
}
}
//end povorot
   
//падение
  if((stena.hitTest(l1x,l1y,true)==false)and(stena.hitTest(l2x,l2y,true)==false)){
padinnya+=0.5
}
if(stena.hitTest(l1x,l1y,true) ){//если касаемся левой точкой
  padinnya=0
  for(i=1;i<200;i++){
  hero._y-=0.1
  l1y-=0.1
  l2y-=0.1
   
  if(stena.hitTest(l1x,l1y,true)==false){
  i=205
  }
  }
}

if(stena.hitTest(l2x,l2y,true )){//если касаемся правой точкой
  padinnya=0
  for(i2=1;i2<200;i2++){
  hero._y-=0.1
  l1y-=0.1
  l2y-=0.1
  if(stena.hitTest(l2x,l2y,true)==false){
  i2=205
  }
  }
}

if(stena.hitTest(hero._x,hero. _y,true)){//если касаемся центром
  padinnya=0
  for(i=1;i<200;i++){
  hero._y-=0.1
  if(stena.hitTest(hero._x,hero._y,true)==false){
  i=205
  }
  }
}

hero._y+=padinnya
//end падение
}

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

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

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

Скриншоты:

Категория: Программирование | Добавил: apoptom (29 Октября 2010) | Автор: Юрий Сухоставский
Просмотров: 6678 | Комментарии: 1 | Рейтинг: 4.2/5 |
Теги: Урок, ActionScript, платформер, Выравнивание, actionScript2.0, Платформа, Флэш, флеш, Flash
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Урок "платформер - выравнивание под платформу" (actionScript2.0)», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 1
+0-
1 tracer07   (07 Ноября 2010 20:11) [Материал]
tracer07Отличный урок!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • CopperCube 6
  • C4 Engine
  • Nuclear Basic
  • lifeEngine
  • DizzyAGE
  • TURBU
  • UPBGE
  • Fabula
  • Alice
  • Boom
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг