Пятница, 10 Мая 2024, 19:21

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 17
  • 1
  • 2
  • 3
  • 16
  • 17
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Художник пытается освоить GML (задаю вопросы по всем непоняткам)
Художник пытается освоить GML
FerrumelДата: Среда, 01 Декабря 2010, 17:32 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Можно было бы конечно задавать свои вопросы в теме вопрос-ответ, но так я просто могу потеряться. Да и вопрос может уехать без ответа куда нибудь ввысь. Потому и решил создать отдельную тему, буду периодически тут спрашивать что непонятно. Периодически, это довольно часто. Вопросы будут не плана "какзаставитьперсонажаподпрыгивать или каксделатьвыстрел" Это меня настолько не интересует, благо подобного материала полно. Главное разобраться в самой подноготной конструктора и его языке сценариев.

для начала
Объясните пожалуйста что такое общие переменные и переменные являющиеся локальными к образцу объектаПолазил погуглил, нашел только по аналогии в фортране про общие блоки и те тоже невнятно как то объясняются, даже не объясняются а упоминаются.


все серо и пусто
VinchensooДата: Среда, 01 Декабря 2010, 17:42 | Сообщение # 2
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (Ferrumel)
Объясните пожалуйста что такое общие переменные и переменные являющиеся локальными к образцу объекта

глобальная переменная используется в любом месте кода, для любого объекта, она хранит 1 значение для всего кода.
Локальная переменная используется в пределах 1 скрипта или объекта.
Для разных объектов локальные переменные могут иметь разное значение.
Например, переменная name. Ее удобно делать локальной


GameMixДата: Среда, 01 Декабря 2010, 17:44 | Сообщение # 3
старожил
Сейчас нет на сайте
Ferrumel, общие переменные - это глобальные переменные, которые доступны всем объектам. Например, если в создании одного объекта, напишешь:
Code
a = 10;
, а затем попытаешься другим объектом поменять значение, то вылетит ошибка. Если же в создании объекта, находящегося в комнате напишешь:
Code
a = 10;  
globalvar a;

Тогда переменная a будет доступна всем объектам.
Итак,
Code
a = 10; globalvar a;
Это общая переменная, доступная для всех.
Code
a = 10;
- это локальная переменная, доступная только одному объекту.


Steel Standoff - 2D аркада.
Мои статьи
FerrumelДата: Среда, 01 Декабря 2010, 18:27 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Вот спасибочки товарищи. Переводчику справки оплеуху надо отвесить. Это надо же было глобальную переменную общей обозвать. Если бы сразу же так было написано, не загаживал бы форум своим нелепым вопросом. biggrin

А такой вопрос.
В справке введены понятия поразрядных и одноместных операторов, да написали их как то по идиотски все знаки вместе, так что не понять что к чему относится. Я в курсе что gml написан по стандартам ecma зашел туда и испугался, их очень много.
Не напишете какие именно используются в GML и их значение?


все серо и пусто
AGENTX001Дата: Среда, 01 Декабря 2010, 18:30 | Сообщение # 5
почётный гцупер
Сейчас нет на сайте
например переменная
Code
health = 100
- локальная, она будетдоступна объекту в котором ты её обьявил.
а вот
Code
global.patrons
- глобальная, её сможет изменить любой объект
VinchensooДата: Среда, 01 Декабря 2010, 18:32 | Сообщение # 6
Злобный социопат с комплексом Бога
Сейчас нет на сайте
AGENTX001, отвисни, с этим давно разобрались cool
Quote (Ferrumel)
В справке введены понятия поразрядных и одноместных операторов, да написали их как то по идиотски все знаки вместе, так что не понять что к чему относится. Я в курсе что gml написан по стандартам ecma зашел туда и испугался, их очень много. Не напишете какие именно используются в GML и их значение?

кинь кусок справки, где это написано. Что-т я подзабыл


FerrumelДата: Среда, 01 Декабря 2010, 18:37 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
Vinchensoo,


все серо и пусто
zik13Дата: Среда, 01 Декабря 2010, 18:38 | Сообщение # 8
Dark wolf
Сейчас нет на сайте
вот справка лучше http://gmakers.ru/gamemaker_help/source/files/404_01_keyboard.php
FerrumelДата: Среда, 01 Декабря 2010, 18:46 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
zik13, один в один что и у меня вплоть до запятых и орфографических ошибок.

все серо и пусто
zik13Дата: Среда, 01 Декабря 2010, 18:55 | Сообщение # 10
Dark wolf
Сейчас нет на сайте
мдя ...
QnizzaДата: Среда, 01 Декабря 2010, 19:31 | Сообщение # 11
почетный гость
Сейчас нет на сайте
&& = and = и
|| = or = или

< = меньше
<= = меньше или равно
== = равно
!= = не равно
> = больше
>= = больше или равно

Добавлено (01.12.2010, 19:31)
---------------------------------------------
чё за херь писал как можно дальше а оно влепило рядом

BaHu3aTopДата: Среда, 01 Декабря 2010, 19:48 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Qnizza, = лучше заменить на --, а то будет путаница
Quote (AGENTX001)
health = 100 - локальная, она будетдоступна объекту в котором ты её обьявил.
health глобальная переменная


AGENTX001Дата: Среда, 01 Декабря 2010, 20:29 | Сообщение # 13
почётный гцупер
Сейчас нет на сайте
Quote
health глобальная переменная

Я к примеру сказал, хотя да она всегла глобальная, но hp - локальная! Кстати я не понимаю - эт для нубов health сделали глобальной? Тогда б уже и patrons и bonus?!
Ведь можна написать
Code
hero.health
FerrumelДата: Среда, 01 Декабря 2010, 22:45 | Сообщение # 14
почти ветеран
Сейчас нет на сайте
Итого на данный момент ЭТО НЕ ДАЛЕКО ВСЕ! ИХ ПОЛЮБОМУ ДОЛЖНО БЫТЬ БОЛЬШЕ. В ecma-262 я видел не менее сотни. В любом случае должно быть больше выражений. Давайте кыкладываем не стесняемся.


переменная/=значение Делит переменную на значение
переменная*=значение Умножает значение на переменную
переменная-=значение Вычитает из переменной значение
переменная+=значение Прибавляет к переменной значение
!= читается как НЕ
^^ читается как XOR
&& читается как AND
|| читается как OR
== равно
<= меньше или равно
>= больше или равно
> больше
< меньше
!= не равно

ps кстати объясните как для дебилов. Смыл значения ХОR читал в различных источниках, мало что понял.


все серо и пусто

Сообщение отредактировал Ferrumel - Четверг, 02 Декабря 2010, 22:30
QvantДата: Среда, 01 Декабря 2010, 23:22 | Сообщение # 15
почти ветеран
Сейчас нет на сайте
Есть два двоичных числа числа (0 или 1) , то XOR будет равно 0 если числа одинаковые и единице если они разные
FerrumelДата: Среда, 01 Декабря 2010, 23:56 | Сообщение # 16
почти ветеран
Сейчас нет на сайте
0 это false 1 это true я так понял и если в операторе If будут сравниваться например две переменных, то будет возвращаться либо false либо true? Я правильно понял?

IF (dom XOR (a+12)/4) дальше то как?

или
IF ((dom XOR (a+12)/4)==0)
{ блок}
ELSE
{блок}
вот так думаю правильно или вместо нуля нужно сразу же прописывать false или true ?


все серо и пусто

Сообщение отредактировал Ferrumel - Четверг, 02 Декабря 2010, 00:06
QvantДата: Четверг, 02 Декабря 2010, 00:05 | Сообщение # 17
почти ветеран
Сейчас нет на сайте
в GM двоичные числа можно записывать или 0 и 1 а также можно false и true
IF пишется маленькими буквами if

(a+12)/4- может и может и неполучиться 0 или 1 , тогда там окрыгляется до ближайшего значения (что болье 0,5 то считается единицей вроде)

QvantДата: Четверг, 02 Декабря 2010, 00:09 | Сообщение # 18
почти ветеран
Сейчас нет на сайте
всё рано что писать что false что 0
FerrumelДата: Четверг, 02 Декабря 2010, 00:14 | Сообщение # 19
почти ветеран
Сейчас нет на сайте
Что то не видел еще в ГМ каких то требований к регистру, вообще то пишу всегда операторы маленькими, это тут чтобы выделить их.
Qvant, Вообще спасибо большое, иные вещи могу сидеть самостоятельно пыхтеть пытаться понять, но оброненная фраза в нужную сторону может здорово объяснить и все поставить на место. Несомненно плюс! Конструкцию я хоть правильно написал (вторая формула не в счет biggrin неподумавши от балды)? Тоесть я правильно этот хоr понял?


все серо и пусто
NeZnayuДата: Четверг, 02 Декабря 2010, 03:40 | Сообщение # 20
__танцуй!__
Сейчас нет на сайте
В выражении if можно ничего не писать, тогда по умолчанию оно будет проверяться как true или 1

Code
if position_free()
{}

==
Code
if position_free()=true
{}

Для обратного результата перед выражением ставится знак !

Code
if !position_free()
{}

==
Code
if position_free()=false
{}


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Художник пытается освоить GML (задаю вопросы по всем непоняткам)
  • Страница 1 из 17
  • 1
  • 2
  • 3
  • 16
  • 17
  • »
Поиск:

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