Четверг, 28 Мая 2020, 04:28

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Большая проверка
Большая проверка
GameMixДата: Вторник, 09 Ноября 2010, 11:22 | Сообщение # 1
старожил
Сейчас нет на сайте
Люди помогите...Мне нужно сделать большую проверку, и если все выражения в этой проверке верны, то выполняется определенное действие. Вот, собственно, мой код(объясните, что не правильно):
if napravo_obj.image_single = 1 && vniz_opt_obj.image_single = 1 && vverh_opt_obj.image_single = 1 && ogon_opt_obj.image_single = 1 && mina_opt_obj.image_single = 1 && vtank_opt_obj.image_single = 1 && iztanka_opt_obj.image_single = 1
then image_single = 1;

С меня +)


Steel Standoff - 2D аркада.
Мои статьи
TezusДата: Вторник, 09 Ноября 2010, 11:27 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Code
if napravo_obj.image_single == 1 && vniz_opt_obj.image_single == 1 && vverh_opt_obj.image_single == 1 && ogon_opt_obj.image_single == 1 && mina_opt_obj.image_single == 1 && vtank_opt_obj.image_single == 1 && iztanka_opt_obj.image_single == 1   
{image_single = 1;}


Если в мире много бед, поможет человек-пакет.
Человек-пакет


Сообщение отредактировал Tezus - Вторник, 09 Ноября 2010, 11:53
NeZnayuДата: Вторник, 09 Ноября 2010, 11:44 | Сообщение # 3
__танцуй!__
Сейчас нет на сайте
В ГМ нет разницы между = и ==

Более оптимизированный вариант проверки будет выглядеть серией if'ов

if napravo_obj.image_single = 1
{if vniz_opt_obj.image_single = 1
{if vverh_opt_obj.image_single = 1
{...и т.д.}}}

Причем последовательность должна начинаться от наименее вероятного условия к наиболее вероятному в самом конце.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
TezusДата: Вторник, 09 Ноября 2010, 11:54 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
NeZnayu, Да, с C попутал biggrin

Если в мире много бед, поможет человек-пакет.
Человек-пакет
GameMixДата: Вторник, 09 Ноября 2010, 12:12 | Сообщение # 5
старожил
Сейчас нет на сайте
Quote (Tezus)
if napravo_obj.image_single == 1 && vniz_opt_obj.image_single == 1 && vverh_opt_obj.image_single == 1 && ogon_opt_obj.image_single == 1 && mina_opt_obj.image_single == 1 && vtank_opt_obj.image_single == 1 && iztanka_opt_obj.image_single == 1   
{image_single = 1;}

Я так делал - не помогает!


Steel Standoff - 2D аркада.
Мои статьи
TezusДата: Вторник, 09 Ноября 2010, 12:19 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
А так, как товарищ NeZnayu посоветовал, пробовал?
Лучше кинь исходник вообще, может ты в другом месте напутал что то... wink


Если в мире много бед, поможет человек-пакет.
Человек-пакет
GameMixДата: Вторник, 09 Ноября 2010, 12:21 | Сообщение # 7
старожил
Сейчас нет на сайте
Quote (Tezus)
Лучше кинь исходник вообще, может ты в другом месте напутал что то...

Всяко что-то здесь не так.
Quote (Tezus)
А так, как товарищ NeZnayu посоветовал, пробовал?

Вот переделываю пока...переделаю - отпишусь.


Steel Standoff - 2D аркада.
Мои статьи
LgunchikДата: Вторник, 09 Ноября 2010, 12:27 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Code
if (napravo_obj.image_single = 1) and (vniz_opt_obj.image_single = 1) and (vverh_opt_obj.image_single = 1) and (ogon_opt_obj.image_single = 1) and (mina_opt_obj.image_single = 1) and (vtank_opt_obj.image_single = 1) and (iztanka_opt_obj.image_single = 1)  
{image_single = 1}


>
GameMixДата: Вторник, 09 Ноября 2010, 13:23 | Сообщение # 9
старожил
Сейчас нет на сайте
Quote (Lgunchik)
if (napravo_obj.image_single = 1) and (vniz_opt_obj.image_single = 1) and (vverh_opt_obj.image_single = 1) and (ogon_opt_obj.image_single = 1) and (mina_opt_obj.image_single = 1) and (vtank_opt_obj.image_single = 1) and (iztanka_opt_obj.image_single = 1)  
{image_single = 1}

Lgunchik, попробовал твоим кодом. Выдаёт ошибку "неизвестная переменная image_single" - такую же как в моём варианте:

Quote (аТнОтХоАн)
if napravo_obj.image_single = 1 && vniz_opt_obj.image_single = 1 && vverh_opt_obj.image_single = 1 && ogon_opt_obj.image_single = 1 && mina_opt_obj.image_single = 1 && vtank_opt_obj.image_single = 1 && iztanka_opt_obj.image_single = 1
then image_single = 1;

Quote (NeZnayu)
if napravo_obj.image_single = 1
{if vniz_opt_obj.image_single = 1
{if vverh_opt_obj.image_single = 1
{...и т.д.}}}

Вот так попробовал как NeZnayu порекомендовал. Вообще тогда после "else" ничего не выполняется.(


Steel Standoff - 2D аркада.
Мои статьи
TezusДата: Вторник, 09 Ноября 2010, 13:33 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Хм... Вот что подумал... почему image_single!? Какая у тебя версия Game Maker?! Вместо image_single используй image_index wink

Добавлено (09.11.2010, 13:33)
---------------------------------------------
Хотя и так и так работать должно.. но попробуй всё же... wink


Если в мире много бед, поможет человек-пакет.
Человек-пакет
GameMixДата: Вторник, 09 Ноября 2010, 13:36 | Сообщение # 11
старожил
Сейчас нет на сайте
Tezus, я image_single'ом уже 7 месяцев пользуюсь и никаких багов пока не встречал.

Теперь редактор пишет: Unexpected symbol in expression вот код:

Code
if napravo_obj.image_single = 0
{if vniz_opt_obj.image_single = 0  
{if vverh_opt_obj.image_single = 0  
{if ogon_opt_obj.image_single = 0
{if mina_opt_obj.image_single = 0
{if vtank_opt_obj.image_single = 0
{if iztanka_opt_obj.image_single = 0}}}}}} image_single = 1
else {ini_open('option.ini');


Steel Standoff - 2D аркада.
Мои статьи
TezusДата: Вторник, 09 Ноября 2010, 13:41 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
else {ini_open('option.ini');} не закрыл скобку?!

Если в мире много бед, поможет человек-пакет.
Человек-пакет
GameMixДата: Вторник, 09 Ноября 2010, 13:43 | Сообщение # 13
старожил
Сейчас нет на сайте
Quote (Tezus)
else {ini_open('option.ini');} не закрыл скобку?!

Не, это я не дописал код до конца. В игре всё дописано, но все-равно не работает.(


Steel Standoff - 2D аркада.
Мои статьи
TezusДата: Вторник, 09 Ноября 2010, 13:46 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
Скинь исходник лучше и всё... или попробуй все же image_index использовать.
Или проверь хотя бы так: if napravo_obj.image_single = 0 {image_single = 1}.. будет ошибка или нет...


Если в мире много бед, поможет человек-пакет.
Человек-пакет
GameMixДата: Вторник, 09 Ноября 2010, 13:49 | Сообщение # 15
старожил
Сейчас нет на сайте
Quote (Tezus)
Или проверь хотя бы так: if napravo_obj.image_single = 0 {image_single = 1}.. будет ошибка или нет...

Так уже делал - тогда нет ошибки.
Quote (Tezus)
Скинь исходник лучше и всё...

У меня это уже не исходник, а почти игра, поэтому, извини, не могу.


Steel Standoff - 2D аркада.
Мои статьи
TezusДата: Вторник, 09 Ноября 2010, 14:02 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Quote (аТнОтХоАн)
Так уже делал - тогда нет ошибки.

Тогда наращивай... попробуй: if napravo_obj.image_single = 0 && vniz_opt_obj.image_single = 0 {image_single = 1} и т.д.
Посмотри на каком моменте ошибка будет...

Добавлено (09.11.2010, 13:57)
---------------------------------------------
У тебя кстати все объекты в момент проверки находятся в комнате?

Добавлено (09.11.2010, 14:01)
---------------------------------------------
И у каждого объекта до проверки в каком либо действии (при создании например) должен объявляться используемый спрайт.

Добавлено (09.11.2010, 14:02)
---------------------------------------------
Пока больше нет вариантов.. по коду все правильно, где то ты накосячил в другом месте.. bag
Если все вышеописанное не поможет, отпишись...


Если в мире много бед, поможет человек-пакет.
Человек-пакет


Сообщение отредактировал Tezus - Вторник, 09 Ноября 2010, 13:52
GameMixДата: Вторник, 09 Ноября 2010, 14:20 | Сообщение # 17
старожил
Сейчас нет на сайте
Quote (Tezus)
У тебя кстати все объекты в момент проверки находятся в комнате?

Блин! Точно, у меня только 2 объекта из 6 в комнате были спс! Выручил!!!)))


Steel Standoff - 2D аркада.
Мои статьи
TezusДата: Вторник, 09 Ноября 2010, 14:21 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
Не за что biggrin

Если в мире много бед, поможет человек-пакет.
Человек-пакет
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Большая проверка
  • Страница 1 из 1
  • 1
Поиск:

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