CreatingOver | Дата: Среда, 14 Августа 2013, 19:22 | Сообщение # 1 |
ColdGamedev
Сейчас нет на сайте
| Блин.. По причине моей тупости уже и это не могу реализовать... Подскажите пожалуйста, как сделать чтоб объект двигался за видом, но оставался в том же углу экрана?
Я снова с вами:з Возвращение легенды. (нет)
|
|
| |
Dmi7ry | Дата: Среда, 14 Августа 2013, 19:25 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| например, так (код размещается в end step) Код x=view_xview[0]+смещение y=view_yview[0]+смещение
|
|
| |
LunarPixel | Дата: Среда, 14 Августа 2013, 19:25 | Сообщение # 3 |
старожил
Сейчас нет на сайте
| В end step объекта:
Код x=view_xview[0] y=view_yview[0]
|
|
| |
CreatingOver | Дата: Среда, 14 Августа 2013, 19:32 | Сообщение # 4 |
ColdGamedev
Сейчас нет на сайте
| LunarPixel, а если в том углу этих объектов несколько? У меня тогда все кроме одного за границу комнаты уходят :С
Я снова с вами:з Возвращение легенды. (нет)
|
|
| |
Kazerex | Дата: Среда, 14 Августа 2013, 21:43 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Как разница сколько объектов? Пользоваться
view'ами очень просто
[view_xview, view_yview] - Самаый верхний левый пиксель экрана. [view_wview, view_hview] - Это рзмеры вида по горизонтале и по вертикале.
Отсюда выходит, что: [view_xview+view_wview, view_yview+view_hview] - это самая нижняя точка [view_xview+view_wview/2, view_yview+view_hview/2] - Середина экрана(вида)
И таким образом можно как угодно делать. Например вывести квадрат 64х64 ровно по центру экрана(вида): draw_rectangle(view_xview+view_wview/2-32, view_yview+view_hview/2-32, view_xview+view_wview/2+32, view_yview+view_hview/2+32, false)
room_width и room_height - ширина и высота всей комнаты.
То есть: room_width=4000 room_height=3000 view_wview=640 view_hview=480 - Т.е. только лишь размер окна отображённого на экране view_xview=0 и view_yview=0 изначально равны нулю, и как только вид комнаты начинает двигаться вниз то и они изменяются, можно так же воздействовать непосредственно на них, например: if keyboard_check(vk_right) view_xview+=5 //При нажатии на стрелку Вправо сдвинуть экран на 5 пикселей вправо.
Так же обязательно прочитать про все функции в справке. Ещё поясню для неопытных: view_xview[0] - это одно и тоже, что view_xview, когда работа идёт с одни видом, то можно не указывать квадратные скобки. Это реализовано так во многих элементах GML, а так же в других языках программирования, что M[0]=5 это тоже самое, что и M=5. Или M[0,4]=6 одинаково M[4]=6. Обращение к объектам тоже происходит по этому же принципу player.x=3 тоже самое, что instance_find(player,0).x У Объектов (и некоторые другие элементы, наример у View'ов тоже) есть что-то вроде порядковых номеров, и обращение к нулевому образцу происходит без указания индекса.
Сообщение отредактировал Kazerex - Четверг, 15 Августа 2013, 00:06 |
|
| |