Вопрос - Ответ (Game Maker)
|
|
Strateg | Дата: Четверг, 01 Сентября 2011, 23:36 | Сообщение # 2141 |
заслуженный участник
Сейчас нет на сайте
| да, вроде! Добавлено (01.09.2011, 23:36) --------------------------------------------- LunarPixel, Большое спасибо,+
DiamonD - мой сайт...
|
|
| |
Andrey_M | Дата: Пятница, 02 Сентября 2011, 17:49 | Сообщение # 2142 |
старожил
Сейчас нет на сайте
| Кстати на лайте в 8 ГМ можно свой курсор сделать без кодов(в лайте Set Cursor отключен) Нужно в SetVariable набрать "cursor_sprite" и в поле снизу спрайт
ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
|
|
| |
GameMix | Дата: Воскресенье, 04 Сентября 2011, 15:10 | Сообщение # 2143 |
старожил
Сейчас нет на сайте
| Всем привет! Меня интересует один вопрос: если в целях оптимизации удалять из памяти объекты, нужно ли тогда удалять их спрайты? Или они вместе с объектами удалятся?
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
SalahAdDin | Дата: Воскресенье, 04 Сентября 2011, 17:42 | Сообщение # 2144 |
постоянный участник
Сейчас нет на сайте
| Нет, они не удаляются вместе с обьектами. Для удаления используется функция sprite_delete(). Добавлено (04.09.2011, 17:42) --------------------------------------------- Забыл добавить, что удаленный спрайт не будет больше доступен для использования и его нужно будет загружать повторно вручную, если он вдруг понадобится. Также нужно учесть ошибки связанные с переменными-именами спрайтов. Они содержат индекс, которого больше не существует, значит многие функции использующие переменную скорее всего выдадут ошибку.
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
Diablokiller | Дата: Понедельник, 05 Сентября 2011, 22:05 | Сообщение # 2145 |
участник
Сейчас нет на сайте
| Помогите пожалуйста: Как сделать так, что бы при контакте персонажа с горизонтальным блоком переменная "hspeed" стремилась к нулю (трение), если можно кусочек кода с комментариями. Заранее спасибо!
Игры - это творчество. ----------------------------------- Meteoron Breakout - Аркада в ретро стиле.
Сообщение отредактировал Diablokiller - Понедельник, 05 Сентября 2011, 22:05 |
|
| |
Saitei | Дата: Понедельник, 05 Сентября 2011, 22:17 | Сообщение # 2146 |
старожил
Сейчас нет на сайте
| Quote (Diablokiller) Помогите пожалуйста: Как сделать так, что бы при контакте персонажа с горизонтальным блоком переменная "hspeed" стремилась к нулю (трение), если можно кусочек кода с комментариями. Заранее спасибо! при столкновении с объектом:
Чего сложного?
|
|
| |
LunarPixel | Дата: Понедельник, 05 Сентября 2011, 22:17 | Сообщение # 2147 |
старожил
Сейчас нет на сайте
| Diablokiller, можно так попробовать:
При столкновении героя с блоком Code if position_meeting(x,y+высота героя+1, объект_блок) if hspeed>0 hspeed-=0.1 else hspeed+=0.1
|
|
| |
Saitei | Дата: Понедельник, 05 Сентября 2011, 22:21 | Сообщение # 2148 |
старожил
Сейчас нет на сайте
| Так... Теперь задам вопрос я )))) Как реализовать воду с течением? Т.е. чтобы игрока уносило в сторону в зависимости от течения? Жанр: платформер
Сообщение отредактировал Arz - Понедельник, 05 Сентября 2011, 22:21 |
|
| |
LunarPixel | Дата: Понедельник, 05 Сентября 2011, 22:29 | Сообщение # 2149 |
старожил
Сейчас нет на сайте
| Arz, создаешь частицу воды, задаешь ей hspeed. У игрока при столкновении с частицей проверяешь:
if other.hspeed>0 hspeed=10 else hspeed=-10
Как то так, например
|
|
| |
Saitei | Дата: Понедельник, 05 Сентября 2011, 22:34 | Сообщение # 2150 |
старожил
Сейчас нет на сайте
| Всё относительно понятно, но я не сталкивался с предлогом что он делает? И чем отличается other.hspeed от hspeed? Это переменная частички, с которой столкнулись?
|
|
| |
LunarPixel | Дата: Понедельник, 05 Сентября 2011, 22:38 | Сообщение # 2151 |
старожил
Сейчас нет на сайте
| Arz, other - это объект, с которым сталкивается герой. В данном случае, да, это частица воды.
other.hspeed - скорость частицы. hspeed - скорость героя.
|
|
| |
Diablokiller | Дата: Понедельник, 05 Сентября 2011, 23:07 | Сообщение # 2152 |
участник
Сейчас нет на сайте
| LunarPixel, пробовал, вправо всегда тянет, хз почему =(. Arz, у тебя персонаж влево улетать будет, как при ветре...
Игры - это творчество. ----------------------------------- Meteoron Breakout - Аркада в ретро стиле.
|
|
| |
LunarPixel | Дата: Понедельник, 05 Сентября 2011, 23:23 | Сообщение # 2153 |
старожил
Сейчас нет на сайте
| Diablokiller, забыл, вот так надо:
if position_meeting(x,y+высота героя+1, объект_блок) { if hspeed>0 hspeed-=0.1 else hspeed+=0.1 }
вот пример, если что: http://zalil.ru/31654207Добавлено (05.09.2011, 23:23) --------------------------------------------- У Arz'a все будет нормально работать.
|
|
| |
Saitei | Дата: Понедельник, 05 Сентября 2011, 23:47 | Сообщение # 2154 |
старожил
Сейчас нет на сайте
| Quote (Diablokiller) Arz, у тебя персонаж влево улетать будет, как при ветре... Я спрашивал саму теорию, после кода LunarPixel я всё понял) Ну а дальше - работа рук Quote (LunarPixel) Arz, other - это объект, с которым сталкивается герой. В данном случае, да, это частица воды.
other.hspeed - скорость частицы. hspeed - скорость героя. всё, понял. Спасибо ^ ^
|
|
| |
Diablokiller | Дата: Понедельник, 05 Сентября 2011, 23:47 | Сообщение # 2155 |
участник
Сейчас нет на сайте
| LunarPixel. не, его как добропорядочного мужа на право тянет =), в исходнике тоже, может в компе проблема? Я про hspeed-=0,2, а не воду.
Игры - это творчество. ----------------------------------- Meteoron Breakout - Аркада в ретро стиле.
Сообщение отредактировал Diablokiller - Понедельник, 05 Сентября 2011, 23:48 |
|
| |
LunarPixel | Дата: Понедельник, 05 Сентября 2011, 23:54 | Сообщение # 2156 |
старожил
Сейчас нет на сайте
| Diablokiller, ну всё, пора мне спать идти.
Вот так сделай: Code if position_meeting(x,y+32+1,object0) { if hspeed>0 hspeed-=0.1 if hspeed<0 hspeed+=0.1 }
Теперь всё должно быть норм.
|
|
| |
Diablokiller | Дата: Вторник, 06 Сентября 2011, 00:00 | Сообщение # 2157 |
участник
Сейчас нет на сайте
| LunarPixel, хороший человек, заработало как надо! Самых спокойных снов тебе, LunarPixel!
Игры - это творчество. ----------------------------------- Meteoron Breakout - Аркада в ретро стиле.
|
|
| |
LunarPixel | Дата: Вторник, 06 Сентября 2011, 00:10 | Сообщение # 2158 |
старожил
Сейчас нет на сайте
| Спасибо
|
|
| |
Diablokiller | Дата: Вторник, 06 Сентября 2011, 17:37 | Сообщение # 2159 |
участник
Сейчас нет на сайте
| Экхм... Сделал vspeed = 0 при коллизий с блоком (объект стен, платформы), vspeed становиться 0 даже при вертикальном касаний персонажем блока, как сделать так, что бы vspeed = 0 было только при коллизий с горизонтальной поверхностью... А лучше дайте пример ПРОСТЕЙШЕГО платформера на GML с подробными русскими коментариями, спасибо.
Игры - это творчество. ----------------------------------- Meteoron Breakout - Аркада в ретро стиле.
Сообщение отредактировал Diablokiller - Вторник, 06 Сентября 2011, 17:38 |
|
| |
LunarPixel | Дата: Вторник, 06 Сентября 2011, 18:06 | Сообщение # 2160 |
старожил
Сейчас нет на сайте
| В столкновении с блоком пропиши:
Code if position_meeting(x,y+высота спрайта+1,obj_block) //если блок под героем vspeed=0
Можно вместо position_meeting использовать collision_rectangle, для более точной проверки.
|
|
| |