Пара вопросов по Game Maker
| |
MadMax | Дата: Воскресенье, 10 Июня 2012, 06:50 | Сообщение # 1 |
\o
Сейчас нет на сайте
| 1. Подскажите функцию перемещения в данную точку? Нужно чтобы объект переместился (не телепортировался, а именно переместился!) в заданную точку с заданной скоростью. покопал справку, и нашел move_towards_point() Вот пример как я использую
Code with (obj_a){ move_towards_point(1200,300,7) } объект должен перейти в точку 1200:300 со скоростью 7. он идет идет и уходит за пределы комнаты дальше точки х, но нужно чтобы он остановился в точке 1200:300 что и как мне нужно использовать?
2. Как можно узнать имя комнаты? мб есть какая то функция, чтобы узнать имя комнаты, в которой находится объект.
3. Как можно узнать координаты где находится объект в данный момент для последущего занесения их в переменные?
4. Как можно сделать отрисовку спрайта в объекте столкновения? мне нужно когда obj_a столкнется с obj_b то отрисуется спрайт
5. Как узнать не имеет ли общих точек столкновения obj_a и obj_b? ну вот когда они столкнутся происходит действие, но нужно когда они не имеют общих точек, то действие будет другое? думаю в степе надо что то прописать. ну приведу пример. есть кнопка. на кнопку встает гг - дверь открывается. гг уходит с кнопки - дверь закрывается.
[Gamiron #10] Prison Break [2D] Revenge [iOS, Android]
Сообщение отредактировал MadMax - Воскресенье, 10 Июня 2012, 07:02 |
|
| |
GameMix | Дата: Воскресенье, 10 Июня 2012, 07:19 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| 1) В событии End Step объекта obj_a:Code if point_distance(x,y,1200,300) < 8 move_towards_point(1200,300,7) else speed = 0; Описание функции point_distance() можно узнать в справке.
2) room_get_name(). Возвращает имя комнаты, а не caption (заголовок окна). 3) x,y. 4) можно в объекте obj_a завести переменную в Create. например: А в Collision with obj_b:Code if DRAW = true exit else DRAW = true; Далее, в событии рисования:Code if DRAW = true рисуем_спрайт; 5) функция place_meeting(x,y,obj). Подробнее в справке. Quote (MadMax) думаю в степе надо что то прописать Ты прав.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
MadMax | Дата: Воскресенье, 10 Июня 2012, 13:10 | Сообщение # 3 |
\o
Сейчас нет на сайте
| спасибо. все помогло Добавлено (10.06.2012, 13:05) --------------------------------------------- GameMix, первый вопрос актуален. ну вот вставил в конечный шаг, а в obj_b что тогда? надо чтобы при нажатии на obj_b, obj_a перешел в 1200:300 Добавлено (10.06.2012, 13:09) --------------------------------------------- так же 4 вопрос. сделал как написано, но теперь спрайт самого объекта не отображается. его не видно Добавлено (10.06.2012, 13:10) ---------------------------------------------
Code if DRAW = true { draw_sprite(spr_lol,0,300,300) }
событие рисование. остальное у тебя все взял
[Gamiron #10] Prison Break [2D] Revenge [iOS, Android]
|
|
| |
Saladin | Дата: Воскресенье, 10 Июня 2012, 13:42 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| Quote (MadMax) сделал как написано, но теперь спрайт самого объекта не отображается Его и не будет видно. Если в обьекте используется событие драв, то рисуется только то, что в нем написано. Тебе нужно сперва нарисовать спрайт обьекта а потом уже код рисования другого спрайта. Code draw_sprite(sprite_index,image_index,x,y)
if DRAW == true { draw_sprite(spr_lol,0,300,300) } Добавлено (10.06.2012, 13:42) ---------------------------------------------
Quote (MadMax) Подскажите функцию перемещения в данную точку? Можно конечно просто переместить обьект с помощью твоей функции, но пути тут кажется будут более уместны. В событии нажатия кнопки: Code n=path_add() path_add_point(n,x,y,100) path_add_point(n,x1,y1,100) path_start(n,speed_var,0,0)
в событии End of path
Анбаннэд. Хэлоу эгин =)
|
|
| | |
Saladin | Дата: Воскресенье, 10 Июня 2012, 14:06 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Для таких вещей придумали массивы. И не обязательно их делать глобальными. указатель_на обьект.переменная
Quote (MadMax) рисую спрайт,а потом условие. в итоге ни спрайта объекта, ни из условия. Без кода я бессилен.
Анбаннэд. Хэлоу эгин =)
|
|
| |
MadMax | Дата: Суббота, 16 Июня 2012, 07:35 | Сообщение # 7 |
\o
Сейчас нет на сайте
| Quote (Saladin) Без кода я бессилен. событие draw Code draw_sprite(spr_player,0,x,y)
if DRAW == true { draw_sprite(spr_lol,0,300,300) } Добавлено (16.06.2012, 07:35) --------------------------------------------- n=path_add() path_add_point(n,x,y,100) path_add_point(n,x1,y1,100) path_start(n,speed_var,0,0)
использую так. но обьект должен останавливаться, а он назад перемещается в первую точку
[Gamiron #10] Prison Break [2D] Revenge [iOS, Android]
|
|
| |
GameMix | Дата: Суббота, 16 Июня 2012, 08:26 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| MadMax, нужно сделать путь незамкнутым:Code path_set_closed(n,false)
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
MadMax | Дата: Суббота, 16 Июня 2012, 11:14 | Сообщение # 9 |
\o
Сейчас нет на сайте
| еще что то не получается к виду прикрепить объект. вот так делаю Code instance_create(view_xview[0]+10,view_yview[0]+500,o_menu_back) instance_create(view_xview[0]+700,view_yview[0]+500,o_menu_next) это част интерфейса, при передвижении вида, интерфейс должен не двигаться. вроде делаю как надо
[Gamiron #10] Prison Break [2D] Revenge [iOS, Android]
|
|
| |
GameMix | Дата: Суббота, 16 Июня 2012, 11:53 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| MadMax, поиск тебе поможет. Аналогичная тема, причем не успевшая "утонуть".
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
|