Объекты. Режимы игры.
|
|
XCode | Дата: Понедельник, 07 Февраля 2011, 22:45 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Я создаю платформер. Есть ГГ, который стоит на платформе и где-то вдалеке выход из уровня. Нам дается несколько обьектов (разных, у них разные ф-ции). Вопрос встал в переключении режимов игры. Оптимальным вариантом я посчитал создать Game_control и в create поместить такие переменные: А в step: Quote If status="Editor" { Внутри огромный код манипуляций, если сейчас мы находимся в состоянии редактирования уровня. } If status="Game" { Ничего сложного, просто начинаем шмаляться и игрок научится бегать. Здесь я сам. } If keyboard_check(ord("1") { status="Editor" } If keyboard_check(ord("2") { status="Game" } Для справки: в игре есть четыре обеькта, котоыре можно поставить. Это - обычный блок, хрупкий (разрушается), блок-ловушка (взрывается) и мина. Изначально на уровнях будут стоять обьекты, которые удалить нельзя будет. В том и дело - юзер должен достроить уровень так, что бы пройти его. Добавлено (07.02.2011, 22:45) Quote (XCode) If check_keyboard_button(один(1)) { status="Editor" } If check_keyboard_button(два(2)) { status="Game" } скорее всего условия не правильные. Под рукой GM нет, печатал в слепую.
Сообщение отредактировал XCode - Понедельник, 07 Февраля 2011, 23:24 |
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 22:45 | Сообщение # 2 |
GML ProgrammeR
Сейчас нет на сайте
| Эм... В чем проблема?
Посоветуйте, где скачать VB6 :C
|
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 22:48 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Apelsinoviy_kot, проблема в выборе "обьектов" для размещения. Ещё надо сделать так, чтобы обьект создавался, если место свободно. Если место занято - обьект станет красным (те, кто играет в РТС, поймут)
Сообщение отредактировал XCode - Понедельник, 07 Февраля 2011, 22:49 |
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 22:48 | Сообщение # 4 |
GML ProgrammeR
Сейчас нет на сайте
| Quote (XCode) If check_keyboard_button(один(1)) замени на if keyboard_check(ord("1") Quote (XCode) If check_keyboard_button(два(2)) на if keyboard_check(ord("2")
Посоветуйте, где скачать VB6 :C
|
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 22:50 | Сообщение # 5 |
GML ProgrammeR
Сейчас нет на сайте
| XCode, для этого служит функция if place_free.Quote (Справка) place_free(x,y) Возвращает истину, если с экземпляром объекта, помещенным в точку с координатами (x,y), не происходит столкновений с твёрдыми объектами. Обычно данная функция используется для проверки перед непосредственным перемещением экземпляра объекта в позицию с координатами (x,y).
Посоветуйте, где скачать VB6 :C
|
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 22:51 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| Apelsinoviy_kot, Quote (XCode) скорее всего условия не правильные. Под рукой GM нет, печатал в слепую. Quote (Apelsinoviy_kot) на if keyboard_check(ord("2") Quote (Apelsinoviy_kot) замени на if keyboard_check(ord("1") Вот! Спасибо за поправкуДобавлено (07.02.2011, 22:51) --------------------------------------------- Apelsinoviy_kot, да, но обьект имеет свой размер. Это заставляет задуматься... Мне, если можно, побольше теории
|
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 22:52 | Сообщение # 7 |
GML ProgrammeR
Сейчас нет на сайте
| Quote (XCode) Спасибо за поправку Не за что, только я не уверен насчет клавиатурных кодов. Такой клав. код используется при нажатии клавиши в общем(W, Z и другие букаффки).
Посоветуйте, где скачать VB6 :C
|
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 22:55 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| Apelsinoviy_kot, не важно. Quote (XCode) Внутри огромный код манипуляций, если сейчас мы находимся в состоянии редактирования уровня
|
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 22:55 | Сообщение # 9 |
GML ProgrammeR
Сейчас нет на сайте
| XCode, эта функция проверяет, нет ли столкновений с твердыми объектам у объекта с указанными координатами. Просто пропиши Code if place_free(x,y) { image_index=*Здесь зеленый cпрайт*; } else { image_index=*А здесь красный спрайт*; }
Посоветуйте, где скачать VB6 :C
|
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 22:58 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| Quote (Apelsinoviy_kot) *Здесь зеленый cпрайт* не зелёный, а в нормальных цветах х))) Да, код действительно хороший. Но как компьютер поймет, что сейчас я перемещаю определённый объект?
|
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 23:00 | Сообщение # 11 |
GML ProgrammeR
Сейчас нет на сайте
| XCode, сделай переменную. Если значение - true, значит, ты тащишь объект. Если false, то это статический объект.
Посоветуйте, где скачать VB6 :C
|
|
| |
Made_In_USSR | Дата: Понедельник, 07 Февраля 2011, 23:02 | Сообщение # 12 |
заслуженный участник
Сейчас нет на сайте
| Quote (XCode) Apelsinoviy_kot, проблема в выборе "обьектов" для размещения. Ещё надо сделать так, чтобы обьект создавался, если место свободно. Если место занято - обьект станет красным (те, кто играет в РТС, поймут) Не совсем понял проблему. Даже думаю что не я один.
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
|
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 23:03 | Сообщение # 13 |
GML ProgrammeR
Сейчас нет на сайте
| Quote (Made_In_USSR) Не совсем понял проблему. Даже думаю что не я один. Насколько я знаю, проблема решена, ибо Я ее понял)) ^^
Посоветуйте, где скачать VB6 :C
|
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 23:08 | Сообщение # 14 |
почетный гость
Сейчас нет на сайте
| Made_In_USSR, уже решил. Quote (Apelsinoviy_kot) XCode, сделай переменную. Если значение - true, значит, ты тащишь объект. Если false, то это статический объект. Code if obj_my_id=1 { За мышкой тащится обьект под названием '...'. } if obj_my_id=0 { Пустота :D } Как сделать перемещение? obj.x+mouse_x obj.y+mouse_y? Я в слепую, опять же
|
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 23:09 | Сообщение # 15 |
GML ProgrammeR
Сейчас нет на сайте
| Quote (XCode) Как сделать перемещение? x=mouse_x; y=mouse_y;
Посоветуйте, где скачать VB6 :C
Сообщение отредактировал Apelsinoviy_kot - Понедельник, 07 Февраля 2011, 23:11 |
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 23:13 | Сообщение # 16 |
почетный гость
Сейчас нет на сайте
| Quote (Apelsinoviy_kot) x=mouse_x; y=mouse_y; в чём разница от Quote (XCode) obj.x+mouse_x obj.y+mouse_y?
|
|
| |
Made_In_USSR | Дата: Понедельник, 07 Февраля 2011, 23:15 | Сообщение # 17 |
заслуженный участник
Сейчас нет на сайте
| Вы говорите загадками товарищи. Как у вас получается решать проблему, которая даже не сформулирована? Добавлено (07.02.2011, 23:15) ---------------------------------------------
Quote (XCode) в чём разница от obj.x+mouse_x obj.y+mouse_y действуют на все обьекты obj
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
|
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 23:16 | Сообщение # 18 |
почетный гость
Сейчас нет на сайте
| Made_In_USSR, открывать всю суть я не хочу. Я делаю уникальную смесь жанров, и не хочу чтобы меня обогнали. Поэтому спрашиваю по кусочкам
|
|
| |
TheApKoT | Дата: Понедельник, 07 Февраля 2011, 23:16 | Сообщение # 19 |
GML ProgrammeR
Сейчас нет на сайте
| Quote (Made_In_USSR) Как у вас получается решать проблему, которая даже не сформулирована? Я - заядлый игрок в Ваху, мне все понятно. Quote (XCode) в чём разница от Quote (XCode) obj.x+mouse_x obj.y+mouse_y? Понимаешь, при твоем коде значение будет приплюсовываться. А нужно, чтобы было равно. Если значение приплюсовывается, то равно зположению мыши оно будет только при нулевых координатах... Понятно?
Посоветуйте, где скачать VB6 :C
|
|
| |
XCode | Дата: Понедельник, 07 Февраля 2011, 23:17 | Сообщение # 20 |
почетный гость
Сейчас нет на сайте
| Quote (Made_In_USSR) obj.x+mouse_x obj.y+mouse_y действуют на все обьекты obj obj - мой обьект, n'ого названия для вас.
|
|
| |