Вопрос - Ответ (Game Maker)
|
|
TheApKoT | Дата: Воскресенье, 13 Февраля 2011, 00:08 | Сообщение # 841 |
GML ProgrammeR
Сейчас нет на сайте
| LordZick, 1. Лог ошибки. 2. А никак сделать парное условие? Например, Code if !vspeed=0 && speed<0 { sprite_index=*ТУТНАЗВАНИЕСПРАЙТАПРЫЖКАВЛЕВО*; } if !vspeed=0 && speed>0 { sprite_index=*АТУТВПРАВО*; } Код опять же непроверен.
Посоветуйте, где скачать VB6 :C
|
|
| |
Made_In_USSR | Дата: Воскресенье, 13 Февраля 2011, 01:05 | Сообщение # 842 |
заслуженный участник
Сейчас нет на сайте
| Quote (Apelsinoviy_kot) if !vspeed=0 && speed<0 Скорость не может быть меньше нуля
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
Сообщение отредактировал Made_In_USSR - Воскресенье, 13 Февраля 2011, 01:05 |
|
| |
NeZnayu | Дата: Воскресенье, 13 Февраля 2011, 01:10 | Сообщение # 843 |
__танцуй!__
Сейчас нет на сайте
| Quote (Made_In_USSR) Скорость не может быть меньше нуля В гм может, скорость там - это просто смещение на Х пикселей под определенным углом. Т.е. минусовая скорость будет двигать объект в противоположном направлении. Но это в принципе, думаю в конкретном случае ты прав - скорость всегда будет >= 0
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
Сообщение отредактировал NeZnayu - Воскресенье, 13 Февраля 2011, 01:11 |
|
| |
Made_In_USSR | Дата: Воскресенье, 13 Февраля 2011, 01:17 | Сообщение # 844 |
заслуженный участник
Сейчас нет на сайте
| Quote (LordZick) 1. Я так и не понял, как мне сделать, если объект существует, то он не создался 2 раз? Пытался через instance_number (o_loadgame)=1; , но выскакивает ошибка. if instance_number(object0)<1 instance_create(x,y,object0) Все прекрасно работает.
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
|
|
| |
{Strateg} | Дата: Воскресенье, 13 Февраля 2011, 10:31 | Сообщение # 845 |
почетный гость
Сейчас нет на сайте
| if mouse_check_button_released(mb_left) { что нужно здесь написать, что бы на том месте куда указывает в данный момент мышь, по щелчку появился определенный объект (zavod), а объект, к которому эта функция и приписана (p_zavod) - самоуничтожился } P.S. XDAS Ты все сделал не совсем так как нужно, но ОГРОМНОЕ тебе спасибо, т.к. благодаря твоему примеру я смог продвинуться вперед.
|
|
| |
LordZick | Дата: Воскресенье, 13 Февраля 2011, 10:36 | Сообщение # 846 |
участник
Сейчас нет на сайте
| Made_In_USSR, Спасибо! Apelsinoviy_kot, У меня тогда при старте персонаж исчезает.
|
|
| |
NeZnayu | Дата: Воскресенье, 13 Февраля 2011, 10:37 | Сообщение # 847 |
__танцуй!__
Сейчас нет на сайте
| {Strateg}, instance_create(mouse_x,mouse_y,объект); instance_detroy();
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
Сообщение отредактировал NeZnayu - Воскресенье, 13 Февраля 2011, 10:39 |
|
| |
{Strateg} | Дата: Воскресенье, 13 Февраля 2011, 11:04 | Сообщение # 848 |
почетный гость
Сейчас нет на сайте
| NeZnayu, держи +. И вот еще вопрос. Есть пременная, которой значение присваивается по количеству определенного объекта global.S = instance_number(OB_electrostation); Но работает такое присвоение ТОЛЬКО когда обект(ы) УЖЕ есть в комнате, а если те же самые электростанции появляются в результате каких-то действий - то начхать на них программа хотела и никак не хочет и их считать при присвоении переменной значения. И наоборот - если один из объектов куда-то исчезает, то переменная не меняет значения и равняется тому числу объектов, которые были в комнате первоначально... Как с этим справиться?
|
|
| |
pavelsh | Дата: Воскресенье, 13 Февраля 2011, 11:19 | Сообщение # 849 |
частый гость
Сейчас нет на сайте
| У меня вопрос Что делает Альфа Толерант там где маску у спрайта менять можно Quote global.S = instance_number(OB_electrostation); Может стоит поставить это в событии Step чтоб каждый шаг эту функцию делал...наверное
|
|
| |
Бомбер | Дата: Воскресенье, 13 Февраля 2011, 11:38 | Сообщение # 850 |
The Blank
Сейчас нет на сайте
| Нужен 39dll Для Game Maker 8 в виде расширения .dex чтобы с ним работали примеры. Плюс за помощь...
|
|
| |
{Strateg} | Дата: Воскресенье, 13 Февраля 2011, 11:38 | Сообщение # 851 |
почетный гость
Сейчас нет на сайте
| pavelsh, неа.
|
|
| |
TheApKoT | Дата: Воскресенье, 13 Февраля 2011, 17:06 | Сообщение # 852 |
GML ProgrammeR
Сейчас нет на сайте
| LordZick, хм... Кинь-ка мне код в степе. Возможно, он просто конфликтует.
Посоветуйте, где скачать VB6 :C
|
|
| |
{Strateg} | Дата: Воскресенье, 13 Февраля 2011, 17:25 | Сообщение # 853 |
почетный гость
Сейчас нет на сайте
| Apelsinoviy_kot, http://zalil.ru/30500492 Держи всю программу. global.S - переменная количества станций global.energy=global.S*10 - вырабатываемая энергия
|
|
| |
LordZick | Дата: Воскресенье, 13 Февраля 2011, 19:07 | Сообщение # 854 |
участник
Сейчас нет на сайте
| Apelsinoviy_kot, Code if place_free(x,y+1) then gravity = 0.5 else gravity = 0;
if vspeed < 0 and speed>0 then {sprite_index = s_player_jump_right; image_index = 0} else if vspeed > 0 and speed>0 then {sprite_index = s_player_jump_right; image_index = 1}
if vspeed < 0 and speed<0 then {sprite_index = s_player_jump_left; image_index = 0} else if vspeed > 0 and speed<0 then {sprite_index = s_player_jump_left; image_index = 1}
if !vspeed=0 && speed<0 { sprite_index="s_player_jump_left"; } if !vspeed=0 && speed>0 { sprite_index="s_player_jump_right"; }
|
|
| |
TheApKoT | Дата: Воскресенье, 13 Февраля 2011, 19:41 | Сообщение # 855 |
GML ProgrammeR
Сейчас нет на сайте
| Неправильно. Либо then, либо фигурные скобки.
Посоветуйте, где скачать VB6 :C
|
|
| |
LordZick | Дата: Воскресенье, 13 Февраля 2011, 20:02 | Сообщение # 856 |
участник
Сейчас нет на сайте
| Apelsinoviy_kot, Всё ровно персонаж исчезает. Добавлено (13.02.2011, 20:02) --------------------------------------------- Если убераю Code if !vspeed=0 && speed<0 { sprite_index="s_player_jump_left"; } if !vspeed=0 && speed>0 { sprite_index="s_player_jump_right"; } Персонаж не исчезает, но всё становится по-прежнему.
|
|
| |
Made_In_USSR | Дата: Понедельник, 14 Февраля 2011, 03:10 | Сообщение # 857 |
заслуженный участник
Сейчас нет на сайте
| LordZick, используй вместо скорости переменную с условным обозначением направления (1/0 например). Когда нажата кнопка влево, переменная принимает значение 1, когда вправо - 0. А дальше все то же самое: Code if !vspeed=0 && dir=1 { sprite_index="s_player_jump_left"; } if !vspeed=0 && dir=0 { sprite_index="s_player_jump_right"; } Должно работать.
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
|
|
| |
{Strateg} | Дата: Понедельник, 14 Февраля 2011, 11:46 | Сообщение # 858 |
почетный гость
Сейчас нет на сайте
| Мой вопрос по электростанциям снимается. Дошел своим умом. Но появилась пара новых. 1. Как сделать, что бы условие выполнялось только при наличии в комнате в данный момент определенного объекта. Например, if в комнате в данный момент есть определенный объект (один) { Рисуется какой-либо спрайт } 2.Как правильно отрегулировать глубину объектов?А то у меня постройки поверх интерфейса отображаются, а должны быть не видны под интерфейсом....
Сообщение отредактировал {Strateg} - Понедельник, 14 Февраля 2011, 12:17 |
|
| |
NeZnayu | Дата: Понедельник, 14 Февраля 2011, 12:28 | Сообщение # 859 |
__танцуй!__
Сейчас нет на сайте
| 1. if instance_number(blabla)>0 {} 2. Чем больше depth - тем "глубже" объекты, отрицательные значения задавать можно.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
{Strateg} | Дата: Понедельник, 14 Февраля 2011, 13:46 | Сообщение # 860 |
почетный гость
Сейчас нет на сайте
| NeZnayu, ага, спс. А что нужно прописать в коде события Draw, чтобы спрайт стал полупрозрачным?
|
|
| |