Воскресенье, 22 Декабря 2024, 10:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
GameMixДата: Вторник, 22 Февраля 2011, 18:22 | Сообщение # 941
старожил
Сейчас нет на сайте
LordZick, может быть так:
В событии столкновения планеты с игроком:

if игрок.hspeed > 0 image_angle-=3 else // если игрок идет направо, планета вращается вправо
if игрок.hspeed < 0 image_angle+=3 else // если игрок идет налево, планета вращается влево
image_angle = image_angle;
// если не идет ни вправо, ни влево, тогда планета не вращается.


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал аТнОтХоАн - Вторник, 22 Февраля 2011, 18:22
Made_In_USSRДата: Вторник, 22 Февраля 2011, 19:44 | Сообщение # 942
заслуженный участник
Сейчас нет на сайте
Случай не простой. Если делать все это в декартовой системе координат, то персонаж вообще не должен двигаться по горизонтали, соответственно ни о каких hspeed не может быть и речи. Тут скорее нужно привязываться к нажатию клавиш. Хотя я не уверен что правильно понял автора.

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
TheApKoTДата: Вторник, 22 Февраля 2011, 22:44 | Сообщение # 943
GML ProgrammeR
Сейчас нет на сайте
Хотя нет, тот вариант не подходит... Вычисляются координаты объекта при столкновении, а мне нужны координаты самого места, в котором произошло столкновение.

Посоветуйте, где скачать VB6 :C
NeZnayuДата: Вторник, 22 Февраля 2011, 23:36 | Сообщение # 944
__танцуй!__
Сейчас нет на сайте
М-------------->-------------------<-------K
<-------------------------------------------->
0------------------------------------------ХХХ

Между Мишей и колей ХХХ пикселей.
Миша движется со скоростью n1 пикселей в шаг.
Коля движется со скоростью n2 пикселей в шаг.

Где они встретятся?


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
NeZnayuДата: Вторник, 22 Февраля 2011, 23:38 | Сообщение # 945
__танцуй!__
Сейчас нет на сайте
Или тебе просто нужны координаты столкновения, уже после того как оно произошло?

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
TheApKoTДата: Среда, 23 Февраля 2011, 11:11 | Сообщение # 946
GML ProgrammeR
Сейчас нет на сайте
NeZnayu,
Quote (NeZnayu)
просто нужны координаты столкновения, уже после того как оно произошло?


Посоветуйте, где скачать VB6 :C
GameMixДата: Среда, 23 Февраля 2011, 13:17 | Сообщение # 947
старожил
Сейчас нет на сайте
Apelsinoviy_kot, тогда создай переменную. При создании она равна "0", а при столкновении "1". И если переменная равна "0", записываешь координаты столкновения и ставишь в переменной "1". Потом условие
Code
if !place_meeting(x,y,планета) переменная равна 0


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал аТнОтХоАн - Среда, 23 Февраля 2011, 13:17
Made_In_USSRДата: Среда, 23 Февраля 2011, 13:32 | Сообщение # 948
заслуженный участник
Сейчас нет на сайте
Не то. Ему нужны координаты места столкновения, куда и как их записать и отследить вопрос третий.

Я думал о том, чтобы при столкновении чертить линию от центра одного обьекта, до центра другого. Срединная точка на этой линии будет местом столкновения (с некоторой погрешностью разумеется). Но такой вариант не подходит для обьектов, сильно отличающихся в размерах. Для спрайтов одинакового размера подходит почти наверняка.


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
TheApKoTДата: Среда, 23 Февраля 2011, 13:58 | Сообщение # 949
GML ProgrammeR
Сейчас нет на сайте
Made_In_USSR,
Quote (Made_In_USSR)
такой вариант не подходит для обьектов, сильно отличающихся в размерах.

А у меня микро-пуля и здоровенная летающая тарелка sad


Посоветуйте, где скачать VB6 :C
Made_In_USSRДата: Среда, 23 Февраля 2011, 14:03 | Сообщение # 950
заслуженный участник
Сейчас нет на сайте
А зачем тебе собственно эти координаты? Создавать эффект в месте столкновения? Пуля достаточно маленький обьект чтобы ее координаты можно было считать координатами столкновения, а сам эффект скроет все нестыковки.

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
TheApKoTДата: Среда, 23 Февраля 2011, 14:11 | Сообщение # 951
GML ProgrammeR
Сейчас нет на сайте
Made_In_USSR, дело в том, что пуля не одна... Я планирую сделать и пушечные ядра, и семечки... Мини-проект smile

Посоветуйте, где скачать VB6 :C
LordZickДата: Среда, 23 Февраля 2011, 14:43 | Сообщение # 952
участник
Сейчас нет на сайте
У меня в меню проблема! Я сделал главное окно и кнопку. При нажатии на кнопку создает окно. А тут проблема. Через окно можно нажать другие кнопки, которые на главном окне. Как сделать чтобы через это окно нельзя нажать другие кнопки, которые на главном окне? Надеюсь меня поняли happy


LunarPixelДата: Среда, 23 Февраля 2011, 14:53 | Сообщение # 953
старожил
Сейчас нет на сайте
LordZick, Первое что пришло в голову.. блокируй кнопки когда появляется окно. Не знаю как у тебя там все устроено, но для примера:
Создаешь переменную равную нулю. Когда окно появляется, то эта переменная становится равной единице. А в событии нажатия на кнопки делаешь проверку "если переменная равна нулю, тогда выполняются действия". Таким образом когда окно появляется (переменная = 1) нажатие на кнопки не дает никакого эффекта. Ну а при закрытии окна делай переменную опять равной нулю. Думаю всё понятно.


LordZickДата: Среда, 23 Февраля 2011, 15:09 | Сообщение # 954
участник
Сейчас нет на сайте
LunarPixel, Я сделал при создании главного окна переменную block_b. И в кнопках сделал Test Variable. Выскакивает вот это:
Code


___________________________________________
ERROR in
action number 1
of Mouse Event for Left Button
for object o_level_menu_additionally:

Error in expression:block_b
  position 1: Unknown variable block_b




LunarPixelДата: Среда, 23 Февраля 2011, 15:12 | Сообщение # 955
старожил
Сейчас нет на сайте
Ты сделал ссылку на объект который у тебя хранит переменную?
Т.е. если ты создал переменную в объекте MENU, то в объекте BUTTON в Test Variable указать нужно object - объект MENU.


Made_In_USSRДата: Среда, 23 Февраля 2011, 15:44 | Сообщение # 956
заслуженный участник
Сейчас нет на сайте
Опят в переменную? biggrin biggrin biggrin

instance_deactivate()?


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
LunarPixelДата: Среда, 23 Февраля 2011, 15:59 | Сообщение # 957
старожил
Сейчас нет на сайте
Made_In_USSR, даа... когда я это писал, я подумал о тебе... biggrin biggrin
Потому специально написал "не знаю как там все у тебя устроено" biggrin

Добавлено (23.02.2011, 15:59)
---------------------------------------------
Ну и как вариант это все равно сработает... biggrin
А вот если бы LordZick справку почитал, то узнал бы о такой штуке как instance_deactivate и не пришлось бы вопросы задавать dry


Made_In_USSRДата: Среда, 23 Февраля 2011, 16:18 | Сообщение # 958
заслуженный участник
Сейчас нет на сайте
Ну instance_deactivate() не сработает если у него все организовано через один обьект. Так что может быть это и умесно...
Просто немного странно, что сперва возникает мысль о переменных а уже потом о встроенных функциях smile

Добавлено (23.02.2011, 16:18)
---------------------------------------------

Quote (Apelsinoviy_kot)
Made_In_USSR, дело в том, что пуля не одна... Я планирую сделать и пушечные ядра, и семечки... Мини-проект

Даже если ты будешь каким то другим образом вычислять координаты столкновения, количество обьектов это не убавит wink
Пушечные ядра могут генерировать эффект на некотором расстоянии вектора движения предшествующего столкновению.
Поставь условие, при котором если система частиц существует, не создавать новую. И не нужно заморачиваться с изобретением колеса.


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)


Сообщение отредактировал Made_In_USSR - Среда, 23 Февраля 2011, 16:20
LunarPixelДата: Среда, 23 Февраля 2011, 16:19 | Сообщение # 959
старожил
Сейчас нет на сайте

Просто не всегда функция - это лучший вариант... Все зависит от конкретной ситуации... smile
Как ты сам только что заметил функция может не работать, если........
Вариант с переменной это, так сказать, вариант наверняка... который точно будет работать... wink хотя соглашусь конечно что в некоторых случаях он будет не оптимален...




Сообщение отредактировал LunarPixel - Среда, 23 Февраля 2011, 16:49
TheApKoTДата: Среда, 23 Февраля 2011, 17:32 | Сообщение # 960
GML ProgrammeR
Сейчас нет на сайте
Quote (Made_In_USSR)
Пушечные ядра могут генерировать эффект на некотором расстоянии вектора движения предшествующего столкновению.

Извини, но я учусь в 6 классе. Мы векторы еще не проходили...
Quote (Made_In_USSR)
Поставь условие, при котором если система частиц существует, не создавать новую. И не нужно заморачиваться с изобретением колеса.

Взрыв Я делаю спрайтом.


Посоветуйте, где скачать VB6 :C
Поиск:

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