Среда, 24 Апреля 2024, 01:04

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Художник пытается освоить GML (задаю вопросы по всем непоняткам)
Художник пытается освоить GML
LunarPixelДата: Пятница, 20 Января 2012, 12:28 | Сообщение # 261
старожил
Сейчас нет на сайте
Хм, ну данную конструкцию сильно уж по короче не запишешь. Можно сделать так:

Code
if global.dead_nos_boss1_x=global.dead_left_orudie_boss1_x=global.dead_right_orudie_boss1_x=0
{
hits-=20  
}


Но, я подозреваю, что изначально можно избавиться от этих переменных, оставив только одну.


FerrumelДата: Пятница, 20 Января 2012, 16:52 | Сообщение # 262
почти ветеран
Сейчас нет на сайте
LunarPixel, Тройной знак равенства прокатывает? surprised Круто!
Может я и не зря эти переменные включил, впоследствии эти пушки смонтирую и на других боссов.

Сегодня сделаю до конца первый уровень. В соответствующей теме выложу, потребую полной оценки игровой ситуации))).

Добавлено (20.01.2012, 16:52)
---------------------------------------------
Я с видами что то до сих пор не разобрался.
Скажите пожалуйста, как написать правильно проверку на то что объект вышел за пределы вида.
Что то вроде если объект такой то вышел за пределы вида, сделать то и то


все серо и пусто

Сообщение отредактировал Ferrumel - Пятница, 20 Января 2012, 12:33
Robin-LocksleyДата: Пятница, 20 Января 2012, 17:20 | Сообщение # 263
постоянный участник
Сейчас нет на сайте
Есть такое событие - "Outside view", выполняется только когда обьект за пределами вида. Пиши в это событие нужное действие. Ничего сложного.

GameMaker Easy Menu
QvantДата: Пятница, 20 Января 2012, 18:41 | Сообщение # 264
почти ветеран
Сейчас нет на сайте
Quote (Robin-Locksley)
"Outside view"

Outside view и Outside Room - работают с багами даже на ГМ 8.1 ... всегда проверяйте работает это ли у вас!!!
Robin-LocksleyДата: Пятница, 20 Января 2012, 18:47 | Сообщение # 265
постоянный участник
Сейчас нет на сайте
Quote (Qvant)
Outside view и Outside Room - работают с багами даже на ГМ 8.1 ... всегда проверяйте работает это ли у вас!!!

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

К стати про какие баги мы говорим? Они ведь могут появляться из-за пользовательских ошибок wink

Добавлено (20.01.2012, 18:47)
---------------------------------------------

Quote (Robin-Locksley)
работают с багами даже на ГМ 8.1

Есть мнение, что гм 8.1 сам по себе работает с багами. Они то патчатся, но неприятный осадок остался smile


GameMaker Easy Menu
QvantДата: Пятница, 20 Января 2012, 19:04 | Сообщение # 266
почти ветеран
Сейчас нет на сайте
Quote (Qvant)
Outside view и Outside Room - работают с багами даже на ГМ 8.1 ... всегда проверяйте работает это ли у вас!!!

ой ! я дурак , это действительно работает ...

Quote (Robin-Locksley)
Они ведь могут появляться из-за пользовательских ошибок

после этой фразы решил всё таки проверить ... действительно ошибка в коде , вот я дурак biggrin

У меня просто по этому событию Outside view или Outside Room , чтоб объект неулетал за границы стоит просейший код
direction = - direction по вертикали работает а по горизонтали нет ... я год был уверен что это баг ГМ , код проще некуда , а решил проверить , оказывается событие работает а этот код не правильный
Robin-LocksleyДата: Пятница, 20 Января 2012, 19:14 | Сообщение # 267
постоянный участник
Сейчас нет на сайте
Quote (Qvant)
direction = - direction по вертикали работает а по горизонтали нет

Не удивительно, где ты видел минус ноль? smile


GameMaker Easy Menu
QvantДата: Пятница, 20 Января 2012, 19:24 | Сообщение # 268
почти ветеран
Сейчас нет на сайте
Quote (Robin-Locksley)
Не удивительно, где ты видел минус ноль?

с нулём понятно , но при 180 будит -180 должно было работать но не работало ... вобщем я дурак biggrin
Robin-LocksleyДата: Пятница, 20 Января 2012, 19:46 | Сообщение # 269
постоянный участник
Сейчас нет на сайте
Quote (Qvant)
с нулём понятно , но при 180 будит -180 должно было работать но не работало ... вобщем я дурак

С этим та же беда. По идее 180 градусов это -360, но так как в ГМ нет направления 360, а есть только ноль, то и обратного ему направления тоже нет.


GameMaker Easy Menu
FerrumelДата: Понедельник, 06 Февраля 2012, 11:57 | Сообщение # 270
почти ветеран
Сейчас нет на сайте

Не понимаю почему то органически виды, экраны и прочее. Ума не приложу как сделать такое.
То есть имеем вид, размером 500*600, за видом генерируются враги и перемещаются в игровую область. Противник имеет какие то пути движения. Некоторые перемещаются за экран игрока и если там они входят в область деактивации, то соответственно деактивируются.

Будут какие нибудь соображения? Если есть пример, буду только рад.


все серо и пусто
Robin-LocksleyДата: Понедельник, 06 Февраля 2012, 13:03 | Сообщение # 271
постоянный участник
Сейчас нет на сайте
Пример, сделал вроде бы как на картинке smile

GameMaker Easy Menu
FerrumelДата: Понедельник, 06 Февраля 2012, 13:10 | Сообщение # 272
почти ветеран
Сейчас нет на сайте
Круто!! Оказывается так просто, что то о событии outside room не подумал... ВСю башку сломал, думал уж объект делать что будет заведовать отключением экземпляров и находился бы за пределами видов.
СПАСИБО!

Завтра плюсиком порадую))


все серо и пусто

Сообщение отредактировал Ferrumel - Понедельник, 06 Февраля 2012, 13:11
Robin-LocksleyДата: Понедельник, 06 Февраля 2012, 13:28 | Сообщение # 273
постоянный участник
Сейчас нет на сайте
Quote (Ferrumel)
за пределами видов.

Для действий за пределами вида существует событие Outside View. Может быть полезно если комната намного больше вида, и обьекты за его пределами "живут" в комнате еще продолжительное время.


GameMaker Easy Menu
FerrumelДата: Вторник, 07 Февраля 2012, 13:29 | Сообщение # 274
почти ветеран
Сейчас нет на сайте
Торможу, давно заметил если колупаюсь с каким нибудь маленьким скриптиком более сорока минут. То тут лучше спросить чем терять время. Самое обидное, понимаю прекрасно что это примитивно.

В чем задача,
-Объект генерируется в определенной точке. (реализовано)
-Объект из этой точки начинает двигаться в другую точку прямолинейно с заданной скоростью
-Когда он выходит в заданную точку, начинает работать path

Есть вариант сделать два пути, один выводит в нужную точку, второй уже основной. Но думаю есть решение проще.
Какие мысли?


все серо и пусто
Dva_KotaДата: Вторник, 07 Февраля 2012, 15:28 | Сообщение # 275
заслуженный участник
Сейчас нет на сайте
Если объект сначала двигается прямолинейно то можно просто после создания задать ему направление движения и скорость и скорость (допустим что у точки, к которой он движется после создания координаты х1 и у1):
Code
direction = point_direction(x,y,x1,y1);
speed = 5;

если нужно чтобы движение по пути началось именно их заданной точки можно каждый шаг проверять расстояние до этой точки, когда оно будет меньше скорости - переместить объект в эту точку и переключиться на путь.
Или можно не проверять расстояние каждый шаг, а проверить один раз при создании, разделить на скорость, установить аларм на эту величину, в аларме переместить объект в точку х1,у1 (чтобы он попал именно в эти координаты) и переключиться на путь.

Добавлено (07.02.2012, 15:28)
---------------------------------------------

Create
Code
direction = point_direction(x,y,x1,y1);
speed = 5;
alarm[0] = point_distance(x,y,x1,y1)/speed;


Alarm0
Code
x = x1;
y = y1;
path_start(path,speed,endaction,absolute)//ну тут уже свои параметры подставляй


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Вторник, 07 Февраля 2012, 15:29
FerrumelДата: Пятница, 24 Февраля 2012, 15:30 | Сообщение # 276
почти ветеран
Сейчас нет на сайте
Dva_Kota, prof вот сроду до такого бы не додумался.

Добавлено (24.02.2012, 15:30)
---------------------------------------------
Имеется объект пуля, имеется объект тело. Пуля врезается в тело (сносятся хиты, летят куски итд), поставил также такую штуку, как уничтожение пули врезавшейся в тело... Как сделать чтобы уничтожался только экземпляр объекта врезавшегося в тело, а не просто объект. Просто к тому времени когда происходит уничтожение объекта пуля, следующая только-только вылетает из ствола. Соответственно она уничтожается тоже.

сорри за тупой вопрос, это просто из разряда : "Не знаю куда посмотреть"


все серо и пусто
GameMixДата: Пятница, 24 Февраля 2012, 15:34 | Сообщение # 277
старожил
Сейчас нет на сайте
Ferrumel, в объекте пули в событии столкновения с телом:
Code
instance_destroy(); // уничтожение текущего экземпляра текущего объекта


Steel Standoff - 2D аркада.
Мои статьи
FerrumelДата: Четверг, 01 Марта 2012, 17:44 | Сообщение # 278
почти ветеран
Сейчас нет на сайте
Победил проблему. Не туда смотрел..

Добавлено (01.03.2012, 17:44)
---------------------------------------------
Народ! Что обозначает вот это сообщение?

Интересно что это за числ0 -100

Creating instance for non-existing object: -100


все серо и пусто
Robin-LocksleyДата: Четверг, 01 Марта 2012, 18:31 | Сообщение # 279
постоянный участник
Сейчас нет на сайте
Полный лог ошибки, пожалуйста.

GameMaker Easy Menu
FerrumelДата: Четверг, 01 Марта 2012, 18:35 | Сообщение # 280
почти ветеран
Сейчас нет на сайте
Robin-Locksley, да он ничего не дал бы. Вроде разобрался. Там в одной переменной ноль вместо еденицы прописал.

все серо и пусто
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Художник пытается освоить GML (задаю вопросы по всем непоняткам)
Поиск:

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