Суббота, 21 Декабря 2024, 14:17

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (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

Скорость не может быть меньше нуля wink


Новичкам изучающим 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 Ты все сделал не совсем так как нужно, но ОГРОМНОЕ тебе спасибо, т.к. благодаря твоему примеру я смог продвинуться вперед. wink


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
Сейчас нет на сайте
Quote (LordZick)
then {

Неправильно. Либо 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, чтобы спрайт стал полупрозрачным?


Поиск:

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