Четверг, 19 Декабря 2024, 10:30

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Объекты. Режимы игры.
XCodeДата: Понедельник, 07 Февраля 2011, 22:45 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Я создаю платформер. Есть ГГ, который стоит на платформе и где-то вдалеке выход из уровня. Нам дается несколько обьектов (разных, у них разные ф-ции). Вопрос встал в переключении режимов игры. Оптимальным вариантом я посчитал создать Game_control и в create поместить такие переменные:
Code
status="Editor"

А в 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
obj_my_id=0

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
заслуженный участник
Сейчас нет на сайте
Вы говорите загадками товарищи. Как у вас получается решать проблему, которая даже не сформулирована? biggrin

Добавлено (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'ого названия для вас.
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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