Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.06.2014, 18:24
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 1  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
По умолчанию Столкновение со стеной

Подскажите пожалуйста, есть фон, с полом и стенами, в центре стоит игрок. Игрок движется, за счет движения фона, поэтому кажется что игрок идет, но на самом деле стоит. Есть массив с объектами в роли стен, но я что-то пока не понимаю как реализовать столкновение со стенами, чтобы объект игрока не проходил сквозь стены

Код AS3:
public function wallplayer(e:Event):void
		{
			var i:int;
			var old_x:int = bg_igrok.x;
			var old_y:int = bg_igrok.y;
			trace("Кoординаты по X:" + old_x);
			trace("Кoординаты по Y:" + old_y);
			for (i = 0; i < platform_obj_wall.length; i++)
			{
				if (bg_igrok.hitTestObject(platform_obj_wall[i]))
				{
					trace("Набежали на стену");
				bg_igrok.x = old_x;
				bg_igrok.y = old_y;
				}
 
		}
	}
Так не работает, потому что по умолчанию координаты игрока не меняются, ибо движется только фон, а не игрок. Попробовал двигать игрока, вместо фона, но объект все равно проходит сквозь стены. Подскажите как лучше сделать? Желательно с вариантом, движение фона, а не игрока

Старый 07.06.2014, 18:37
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 2  
Ответить с цитированием
LifeIsRhythm
[+1 22.07.14]
[+4 12.08.14]
[+1 09.02.15]

Регистрация: May 2014
Сообщений: 182
А стены у Вас тоже вместе с фоном двигаются? Если да то -
можно завести свойства "локальные координаты мира" х и у, в которые записывать смещение фона,
а потом прибавлять к ним разницу координат персонажа и получится так, что человек стоит, а проверки на столкновение будут как-будто он движется.

Старый 07.06.2014, 18:54
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 3  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
А как мне записать смещение всего фона? Я двигаю фон, пробегая по массиву с объектами сцены

Старый 08.06.2014, 04:16
kotyavo вне форума Посмотреть профиль Отправить личное сообщение для kotyavo Найти все сообщения от kotyavo
  № 4  
Ответить с цитированием
kotyavo

Регистрация: Dec 2013
Сообщений: 49
Попробуйте
Код AS3:
if( Asteroid(asteroid_list[i]).hitTestPoint(player.x,player.y,true) )
{
   // 
}

Старый 08.06.2014, 14:10
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 5  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Цитата:
Сообщение от kotyavo Посмотреть сообщение
Попробуйте
Код AS3:
if( Asteroid(asteroid_list[i]).hitTestPoint(player.x,player.y,true) )
{
   // 
}
Что? Это была из какой-то игры случайная строчка взята? Ну а по делу, то лучше просто взять, и использовать готовый движок типо box2d, т.к. сами столкновения с трудом родите. Ну или на сайте xitri.com посмотреть урок готового платформера.
__________________
Я заклинаю вас действовать иначе.

Старый 08.06.2014, 18:29
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 6  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
А нет ни у кого примера с локальными координатами мира? Или может кто может помочь переписать чуток код, чтобы все работало? 100р кину на яндекс.деньги за помощь)


Последний раз редактировалось Godwarlock; 08.06.2014 в 18:41.
Старый 11.06.2014, 21:18
kotyavo вне форума Посмотреть профиль Отправить личное сообщение для kotyavo Найти все сообщения от kotyavo
  № 7  
Ответить с цитированием
kotyavo

Регистрация: Dec 2013
Сообщений: 49
Это в качестве примера.

Я люблю когда тип ясно известен в массиве и IDE понимает какие методы можно вызывать.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.