Суббота, 22 Июня 2024, 05:12

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Работа с спрайтом
TranscedДата: Воскресенье, 24 Июля 2011, 15:33 | Сообщение # 1
TransceD = Game Maker
Сейчас нет на сайте
Вот у меня есть спрайт колеса и мне нужно что бы он зависел от global.speed например speed=0 и колесо стоит на месте, вот только speed=10 колесо крутится вокруг с скоростью 10 и едет горизонтально со скоростью 10. И так с увеличении global.speed
Лер_да_РимДата: Воскресенье, 24 Июля 2011, 16:18 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Не называй переменную global.speed. Назови её globalvar spd, например, или та же global.spd.

В степе колеса:
Code

image_speed = spd;
speed = spd;


А если у тебя именно спрайт (без объекта), то задай переменную snum = 0, в степе snum += speed (проверяй, если snum > количества кадров в спрайте колеса, snum = 0) в дроу:
Code

draw_sprite_ext((s_wheel,snum,x,y,1,1,0,c_white,1));


Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.



Сообщение отредактировал Лер_да_Рим - Воскресенье, 24 Июля 2011, 16:18
Brute_ForceДата: Воскресенье, 24 Июля 2011, 18:05 | Сообщение # 3
был не раз
Сейчас нет на сайте
Quote (Лер_да_Рим)
Не называй переменную global.speed. Назови её globalvar spd, например, или та же global.spd.

Для переменной, которая влияет на всего один обьект (или один тип обьектов) нет смысла обьявлять переменную глобальной. Ни в каком виде. Это вообще вредно. Особенно если не умеешь пользоваться. Не используйте глобальные переменные. Забудьте что они вообще есть.

Quote (Transced)
Вот у меня есть спрайт колеса и мне нужно что бы он зависел от global.speed например speed=0 и колесо стоит на месте, вот только speed=10 колесо крутится вокруг с скоростью 10 и едет горизонтально со скоростью 10. И так с увеличении global.speed

image_angle+=speed
Если вращение не достаточно быстрое - проводи манипуляции с переменной speed. image_angle+=speed*2 например.
Лер_да_РимДата: Воскресенье, 24 Июля 2011, 19:32 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Quote (Brute_Force)
Это вообще вредно. Особенно если не умеешь пользоваться. Не используйте глобальные переменные. Забудьте что они вообще есть.

Не согласен. Это очень удобно, а минусов я не вижу.


Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.

TranscedДата: Воскресенье, 24 Июля 2011, 19:38 | Сообщение # 5
TransceD = Game Maker
Сейчас нет на сайте
Brute_Force, у меня global.speed отвечает не только за скорость колеса.
Brute_ForceДата: Воскресенье, 24 Июля 2011, 19:49 | Сообщение # 6
был не раз
Сейчас нет на сайте
Оу? А на что еще?
Тебе такая адресация как imja_objekta.peremennaya не знакома?

Quote (Лер_да_Рим)
Не согласен. Это очень удобно, а минусов я не вижу.

В народе это называется быдлокод. Настоятельно советую погуглить, а особенно полукоморить на эту тему.
TranscedДата: Воскресенье, 24 Июля 2011, 19:53 | Сообщение # 7
TransceD = Game Maker
Сейчас нет на сайте
Я просил что бы колесо крутилось вокруг и ехало вперед а оно просто едет вперед и не крутится.
И мне нужно что бы колесо крутилось не от globalvar spd а от скорости другого объекта пускай имя объекта будет o_car

Добавлено (24.07.2011, 19:53)
---------------------------------------------
Brute_Force, все мне от тебя помощи не нужно! Я не буду раскраивать все секреты игры перед тобой)Если знаешь как помочь помогай если не то не нужно доказывать что то свое не зная всей беды)

noTformaTДата: Воскресенье, 24 Июля 2011, 20:29 | Сообщение # 8
Ukrainian independent game developer
Сейчас нет на сайте
Quote (Transced)
Вот у меня есть спрайт колеса и мне нужно что бы он зависел от global.speed например speed=0 и колесо стоит на месте, вот только speed=10 колесо крутится вокруг с скоростью 10 и едет горизонтально со скоростью 10. И так с увеличении global.speed

по идее не так, тут тебе надо знать 3 параметра: скорость, радиус колеса и длину поверхности колеса.
а если что, то погугли Механический редуктор. Передаточное отношение.


@noTformaT
TranscedДата: Воскресенье, 24 Июля 2011, 20:35 | Сообщение # 9
TransceD = Game Maker
Сейчас нет на сайте
Ну я работою на этой проблемой.
noTformaTДата: Воскресенье, 24 Июля 2011, 20:40 | Сообщение # 10
Ukrainian independent game developer
Сейчас нет на сайте
Quote (Transced)
Ну я работою на этой проблемой.

вот по тому я отказался от колес в своем проекте smile
На самом деле все может быть легким, но есть вещи которые дабавляют проблем smile


@noTformaT
Лер_да_РимДата: Воскресенье, 24 Июля 2011, 21:16 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Quote (Brute_Force)
народе это называется быдлокод. Настоятельно советую погуглить, а особенно полукоморить на эту тему.

Мне плевать как это называет народ. Меня интересует лишь мнение ПРО, у которых я люблю учиться. Я не слышал никаких протестов в сторону глобальных переменных, зато они очень удобны. Ладно, спор окончен.


Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.

TranscedДата: Воскресенье, 24 Июля 2011, 21:34 | Сообщение # 12
TransceD = Game Maker
Сейчас нет на сайте
noTformaT, я нашел способ решить ее, но здесь без одной строчки кода обошлось))В моем проекте скриншоты посмотрите)
Brute_ForceДата: Воскресенье, 24 Июля 2011, 21:36 | Сообщение # 13
был не раз
Сейчас нет на сайте
Quote (Лер_да_Рим)
Мне плевать как это называет народ. Меня интересует лишь мнение ПРО, у которых я люблю учиться. Я не слышал никаких протестов в сторону глобальных переменных, зато они очень удобны. Ладно, спор окончен.

Так ты спроси любого про, ага biggrin
Вон по форуму их сколько, поди-поди, может хоть они тебе мозги на место вправят. Раньше нубы вроде бы посообразительнее были... Дегенерация, {удалено} smile
FadeBakerДата: Воскресенье, 24 Июля 2011, 21:47 | Сообщение # 14
JavaSE Game Developer
Сейчас нет на сайте
Brute_Force, ты вообще где находишься?! Ты не знаешь, что маты запрещены? Правила читал? Не?


Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
TranscedДата: Воскресенье, 24 Июля 2011, 21:48 | Сообщение # 15
TransceD = Game Maker
Сейчас нет на сайте
vasyan555, это безнаказанным не будет, надеюсь я!
Brute_ForceДата: Воскресенье, 24 Июля 2011, 22:03 | Сообщение # 16
был не раз
Сейчас нет на сайте
Quote (vasyan555)
Brute_Force, ты вообще где находишься?! Ты не знаешь, что маты запрещены? Правила читал? Не?

Вася, шел бы свои недоуроки писать да советы глупые раздавать нубам. Чай не в театре собрались, как считаю нужным, так и говорю.
К стати оба можете уже вприпрыжку скакать к админам наябедничать, пока я тут вам еще более приятных слов не наговорил.

Если нуб настолько туп,
Что не может мозг включить,
Обьясню ему я матом,
Чтобы шел матчасть учить.
noTformaTДата: Воскресенье, 24 Июля 2011, 22:06 | Сообщение # 17
Ukrainian independent game developer
Сейчас нет на сайте
Насчет "глобальных переменных", к сожалению, в коде их лучше много не использовать. Но это свойственно только некоторым яп, например ООП не описывает такое понятие как "глобальная переменная", там такого понятия нет. В некоторых яп глобальные переменные нужны, в некоторых нет. Например ас2, там глобальные переменные нужны, а вот в ас3 - их просто нет возможности использовать. Так что это не считается быдло кодом. B как я понял, _global.my_variable - это скорее открытое свойство объекта/класса "_global".
Но все же "глобальные переменные" осуждаются, примерно так же как оператор "goto", но от первых ничего не случится если их использовать smile


@noTformaT
Brute_ForceДата: Понедельник, 25 Июля 2011, 01:53 | Сообщение # 18
был не раз
Сейчас нет на сайте
Quote (noTformaT)
первых ничего не случится если их использовать

После обьявления globalvar возможность использовать эту переменную как локальную исчезает. Так же больше нельзя будет использовать имена любых ресурсов с именем переменной, так как по сути это и есть переменные, содержащие айди ресурса.
Если обьявить такую переменную как speed (каждый обьект содержит второенную переменную с таким именем) глобальной - это неизбежно приведет к ошибкам в коде, неправильно работе программы и так далее. ГМЛ это тебе не экшн скрипт. Это я еще не придираюсь к расходу памяти на глобальные переменные, которые висят там аж до морковкина заговенья.

Добавлено (25.07.2011, 01:53)
---------------------------------------------

Лер_да_РимДата: Понедельник, 25 Июля 2011, 09:51 | Сообщение # 19
заслуженный участник
Сейчас нет на сайте
Quote (Brute_Force)
КопипЭйст lurkmore.ru ©

Лурк - рассадник ереси biggrin Я всегда это говорил. К тому же эта статья не по теме. Всё логично и совместимо, правильно, удобно и играбельно.

Quote (Brute_Force)
Если обьявить такую переменную как speed (каждый обьект содержит второенную переменную с таким именем) глобальной - это неизбежно приведет к ошибкам в коде, неправильно работе программы и так далее.

А не нужно объявлять встроенные переменными глобальными.

Quote (Brute_Force)
Это я еще не придираюсь к расходу памяти на глобальные переменные, которые висят там аж до морковкина заговенья.

длл в помощь. К тому же от добавления пары дополнительных глобальных переменных ничего страшного не случится.

Quote (Brute_Force)
Чай не в театре собрались, как считаю нужным, так и говорю.

Да??? По-моему, модеры так не считают.

Quote (Brute_Force)
Вон по форуму их сколько, поди-поди, может хоть они тебе мозги на место вправят. Раньше нубы вроде бы посообразительнее были... Дегенерация

Я не нуб и не дегенерирую, так как нечто подсказывает мне, что цитата - завуалированное оскорбление. И опускаться до взаимных оскорблений не считаю приемлимым. Ты меня не задеваешь.


Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.

noTformaTДата: Понедельник, 25 Июля 2011, 10:23 | Сообщение # 20
Ukrainian independent game developer
Сейчас нет на сайте


@noTformaT
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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