Понедельник, 07 Октября 2024, 22:28

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (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" стремилась к нулю (трение), если можно кусочек кода с комментариями.
Заранее спасибо!

при столкновении с объектом:
Code
hspeed-=0,2


Чего сложного? smile
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

Как то так, например smile


SaiteiДата: Понедельник, 05 Сентября 2011, 22:34 | Сообщение # 2150
старожил
Сейчас нет на сайте
Всё относительно понятно, но я не сталкивался с предлогом
Quote (LunarPixel)
other.

что он делает? И чем отличается 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 все будет нормально работать. smile


SaiteiДата: Понедельник, 05 Сентября 2011, 23:47 | Сообщение # 2154
старожил
Сейчас нет на сайте
Quote (Diablokiller)
Arz, у тебя персонаж влево улетать будет, как при ветре...

Я спрашивал саму теорию, после кода LunarPixel я всё понял) Ну а дальше - работа рук smile
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, ну всё, пора мне спать идти. biggrin

Вот так сделай:
Code
if position_meeting(x,y+32+1,object0)  
{
if hspeed>0  
hspeed-=0.1  
if hspeed<0  
hspeed+=0.1
}


Теперь всё должно быть норм. happy


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, для более точной проверки. smile


Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг