![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2011
Сообщений: 22
|
делаю игру на box2d. Персонаж в виде прямоугольника, по горизонтали двигается через SetLinearVelocity, а по вертикали через ApplyImpulse.
Когда персонаж находится в прыжке его можно направлять клавишами влево/вправо, так вот если удерживать например клавишу влево он приклеится к левой стене и не падает. Если задать объектам нулевое трение, то персонаж очень долго скользит и не может остановиться. Какие посоветуете выходы из данной ситуации? |
|
|||||
|
1) приделать персонажу колесо и двигать его влево-право вращением колеса, заодно пропадёт и управление в полёте
2) сделать только стены скользкими
__________________
Хороший отдых - половина работы. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
Нужно просто создать слушатель столкновений и при ударе о стену убирать нажатие клавиши, чтобы оно не становилось активным до следующего нажатия. Что-то типа: var aFixture:b2Fixture = contact.GetFixtureA(); var bFixture:b2Fixture = contact.GetFixtureB(); var userData1:* = aFixture.getBody().getUserData(); var userData2:* = bFixture.getBody().getUserData(); if ((userData1 is Wall && userData2 is Character) || (userData2 is Wall && userData1 is Character) { arrowKeyPressed = false; } Цитата:
|
|
|||||
|
На таких костылях с колесом работают хорошие игрушки, например зомботрон: http://www.kongregate.com/games/AntKarlov/zombotron
это решает одним махом еще и проблему неровностей на полу, за которые, катающееся колесо цепляется не так сильно как коробка которую волокут Ваше решение напротив - убивает отскок от стенки. И представьте себе такую ситуацию: если пользователь будет всё время держать кнопку вправо, то в моём случае, после падения, пресонаж побежит дальше, а с вашим решением оставовится
__________________
Хороший отдых - половина работы. |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 22
|
Цитата:
Добавлено через 1 минуту artcraft, видел реализации с колесом, но если честно не понимаю чем колесо поможет от прилипания к стене? |
|
|||||
|
персонажа к стене приклеивает боковая постоянная сила и трение
если разгонять персонажа колесом, то в прыжке колесо будет работать вхолостую и не будет ни на что влиять, пока персонаж не касается горизонтальной поверхности
__________________
Хороший отдых - половина работы. |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 22
|
Тогда каким образом он сможет запрыгнуть, на что либо с места без разгона?
|
|
|||||
|
это обратная сторона медали, но ведь в реальном мире так всё и работает
никто, как Марио, не может менять направление прыжка пока летит ну и никто не запрещает, при прыжке, придать еще и горизонтальный импульс
__________________
Хороший отдых - половина работы. Последний раз редактировалось artcraft; 21.11.2011 в 21:19. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
Тогда дико извиняюсь =) Да, вариант на самом деле неплохой |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|