Четверг, 28 Марта 2024, 12:49

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Аргументы!!! (Сколько не искал инфы-не нашел.)
Аргументы!!!
minepecraftДата: Четверг, 25 Июня 2015, 14:28 | Сообщение # 1
участник
Сейчас нет на сайте
Ребят,подскажите,что такое аргументы и зачем они нужны?Я все перерыл,не нашел!!!

TymonrДата: Четверг, 25 Июня 2015, 15:06 | Сообщение # 2
With OpenSource forever
Сейчас нет на сайте
Ооо.. Я чую связь гуглосмосом.. Открываю вторую ссылку... И первую... Гуглосмос говорит со мной!!

ДА Я ЖЕ ЧЕРТОВ ТЕМНЫЙ МАГ!!! МНЕ ДОСТУПНЫ ЗНАНИЯ, НЕДОСТУПНЫЕ НИКОМУ!!!


Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы.
Как правильно задавать вопросы в технических форумах


Сообщение отредактировал Tymonr - Четверг, 25 Июня 2015, 15:07
gamesbreedДата: Четверг, 25 Июня 2015, 15:16 | Сообщение # 3
частый гость
Сейчас нет на сайте
Аргументы это значения передаваемые в метод/функцию
skypoДата: Четверг, 25 Июня 2015, 15:18 | Сообщение # 4
участник
Сейчас нет на сайте
Цитата minepecraft ()
Я все перерыл,не нашел!!!

в скриптах.
Когда Вы создаете скрипт, Вы захотите иметь доступ к аргументам (когда Вы запускаете его через действие или в другом скрипте, или в нём самом же). Значение агрументов хранятся в переменных argument0, argument1, ..., argument15. Таким образом может быть до 16 аргументов. (Заметьте, при вызове через действие, доступно только пять) Также можно использовать argument[0] и т. д.
Скрипты ещё могут возвращать значения, поэтому могут использоваться в выражениях Для этого нужно использовать оператор return:
например: return (argument0*argument0);

Чтобы вызвать скрипт в коде, просто запишите его в виде функции. Аргументы записываются так же, в круглых скобках.


Последний готовый проект:
флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay)
В разработке:
3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)
minepecraftДата: Четверг, 25 Июня 2015, 15:22 | Сообщение # 5
участник
Сейчас нет на сайте
Ребят,а еще помогите вот с чем:
Если имеется 1 рабочий ( это я сделал ),тогда 1 из рабочих пойдет делать какую-то работу.
Но вот проблема:
Как уже ясно,работать идут все рабочие!!!


KingДата: Четверг, 25 Июня 2015, 15:32 | Сообщение # 6
участник
Сейчас нет на сайте
Цитата minepecraft ()
Ребят,а еще помогите вот с чем:
Если имеется 1 рабочий ( это я сделал ),тогда 1 из рабочих пойдет делать какую-то работу.
Но вот проблема:
Как уже ясно,работать идут все рабочие!!!

Куясе ты загнул. Я три раза это перечитал, прежде чем до меня начал доходить глубинный смысл сего послания.

Кароч, записывай. Когда создается рабочий, ему дается рабочий идентификатор, и рабочий этот по факту лишь рабочий экземпляр изначального рабочего-перворабочего, назовем его так. То есть он лишь копия рабочего, самого главного рабочего. Все они рабочие, и имеют одинаковое название "рабочие", но при этом у каждого свой id, то есть идентификатор. Что бы рабочие шли делать работу не толпой, а только один рабочий шел работу работать, нужно обращаться к ним по конкретным идентификаторам. Потому что все твои рабочие по имени "Вася", а фамилии у них (id) разные. И вот когда ты говоришь рабочему "Вася, едрить твою мать, хрену ты расселся, иди въеб... работай, шайтан", ты должен уточнять какой конкретно Василий должен идти. То есть все то же самое, только "Вася Алибабаевич, извольте пойти и повкалывать на благо социализма". Усек, нет?


Nothing is true, everything is permitted.
Shadows Games
skypoДата: Четверг, 25 Июня 2015, 15:45 | Сообщение # 7
участник
Сейчас нет на сайте
Цитата minepecraft ()
Но вот проблема:
Как уже ясно,работать идут все рабочие!!!

если рабочий - это объект workman
то перебираем экземпляры рабочих
with(workman)
{
здесь пишем условие, если свободен, то делать то-то.
важный момент - переменные в фигурных скобках берутся из workman, а не из кода, откуда вызывается вся эта конструкция
}

всю эту ботву вызываем из какого-нить одного (не плодящегося) администраторского объекта, который создаем на старте уровня, НЕ из workman

пример: объект-лесопилка, нужно двое рабочих, в create объекта workmans=0; workmans_max=2; (в данный момент работает 0, макс.число работников: 2)
в step лесопилки будет:
with(workman)
{
if free = thrue (флажок workman, что он свободен) && other.workmans<other.workmans_max
{
other.workmans += 1;
free = false;
пехать к лесопилке;
}
}

P.S. - для подобных мелких вопросов вообще лучше не плодить темы, а писать в "Вопросы-Ответы"


Последний готовый проект:
флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay)
В разработке:
3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)


Сообщение отредактировал skypo - Четверг, 25 Июня 2015, 15:56
minepecraftДата: Четверг, 25 Июня 2015, 16:18 | Сообщение # 8
участник
Сейчас нет на сайте
King, да это ясно,но вот как это кодом реализовать,вот она беда,ну и надо чтобы каждому новому рабочему присваивался id ,отличный от других!

Добавлено (25 июня 2015, 16:18)
---------------------------------------------
skypo, спс,щас попробую


KingДата: Четверг, 25 Июня 2015, 19:27 | Сообщение # 9
участник
Сейчас нет на сайте
Цитата minepecraft ()
ну и надо чтобы каждому новому рабочему присваивался id ,отличный от других!

При создании экземпляра любого объекта ему присваивается его уникальный персональный id. Система позаботилась об этом. Идентификатор содержится в константе, которая так и называется - id. Если написать в коде рандомного объекта object
myid = id;
Переменная myid будет содержать этот самый идентификатор. И у каждой копии объекта object он будет свой.


Nothing is true, everything is permitted.
Shadows Games


Сообщение отредактировал King - Четверг, 25 Июня 2015, 19:29
minepecraftДата: Пятница, 26 Июня 2015, 12:39 | Сообщение # 10
участник
Сейчас нет на сайте
King, окей,я сделал так:
При нажатии на дерево у воркера включается work[1]=tue //собирать всякое-разное с деревьев
В степ у воркера:
if work[1]=true
{
var d;
d=instance_place(mouse_x,mouse_y,o_tree)
{
if x<d
{
x+=5
}
if x>d
{
x-=5
}
}
}
Проблема в том,что если я мышкой направлю на другое деревоБон пойдет туда,может стоит сделать переменную d постоянной и обнулять ее?

Добавлено (26 июня 2015, 12:13)
---------------------------------------------
Я уже весь извелся,что-то получается...

Добавлено (26 июня 2015, 12:14)
---------------------------------------------
Проблема решена!Ушло КУЧА кода,но я разобрался!Всем спасибо за помощь,тему можете закрывать,но я явно скоро сюда напишу новые вопросы!!!

Добавлено (26 июня 2015, 12:21)
---------------------------------------------
Стопстопстоп,не надо закрывать тему,прикол в том,что два рабочих идут на одно и тоже место собирать ягоду,как сделать,чтобы шел только 1?

Добавлено (26 июня 2015, 12:24)
---------------------------------------------
Снова проблема решена,но блин,новая проблема,короче,почему то они теперь идут не в нужную сторону,как исправить?идут только налево и все,могу скинуть исходник,если это нужно!

Добавлено (26 июня 2015, 12:30)
---------------------------------------------
Теперь идут ТОЛЬКО направо,ну какого фига?Я уже все перепробовал!!!Я в себе разочарован

Добавлено (26 июня 2015, 12:39)
---------------------------------------------
http://rghost.ru/86DGM2BNm - вот файл,за помощь-плюс и благодарность(огрооомная благодарность),у меня уже голова болит...


KingДата: Пятница, 26 Июня 2015, 13:21 | Сообщение # 11
участник
Сейчас нет на сайте
Цитата minepecraft ()
http://rghost.ru/86DGM2BNm - вот файл,за помощь-плюс и благодарность(огрооомная благодарность),у меня уже голова болит...

Ответил в ЛС


Nothing is true, everything is permitted.
Shadows Games
OpenGOOДата: Пятница, 26 Июня 2015, 13:44 | Сообщение # 12
почти ветеран
Сейчас нет на сайте
Цитата minepecraft ()
if work[1]=true
{
var d;
d=instance_place(mouse_x,mouse_y,o_tree)
{
if x<d
{
x+=5
}
if x>d
{
x-=5
}
}
}

Сравнивать координаты с идентификатором экземпляра это что то новенькое.
надо хотя бы так x < d.x и то надо сперва убедится что d не равен noone


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
minepecraftДата: Пятница, 26 Июня 2015, 15:06 | Сообщение # 13
участник
Сейчас нет на сайте
СПАСИБО ВСЕМ ОГРОМНОЕ!!!

Добавлено (26 июня 2015, 14:40)
---------------------------------------------
Уже неплохо получается!Рабочие приносят всю добычу в замок и получают за это денюжки

Добавлено (26 июня 2015, 15:06)
---------------------------------------------
Люди,а какой параметр в виде отвечает за то,чтобы когда герой достигал какой-то позиции,то вид двигался,а то мой гг доходит до конца, и только тогда двигается камера,а еще как камеру переключать?Сразу + за ответ


Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Аргументы!!! (Сколько не искал инфы-не нашел.)
  • Страница 1 из 1
  • 1
Поиск:

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