Пятница, 19 Апреля 2024, 07:36

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Случайный спрайт (Нет , тема не о том , о чем вы сразу подумали.)
Случайный спрайт
KrososДата: Среда, 07 Августа 2013, 00:19 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
А общем , я хочу сделать лес с разными деревьями в нем при помощи одного объекта.
Проблема в том , что деревья все разные , но можно сделать случайный спрайт , но тогда при каждом начале игры , этот спрайт будет случайным , а нужно чтобы всегда был один и тот же.(Чтобы лес создался случайным , но остался одним и тем же всегда)
Как это сделать? wacko (Надеюсь поймете)
И нужно , чтобы все применили свой спрайт мгновенно , в самом начале.





Мой проект


Сообщение отредактировал Krosos - Среда, 07 Августа 2013, 00:22
zaicev9797Дата: Среда, 07 Августа 2013, 00:41 | Сообщение # 2
AbRaKaDaBrA
Сейчас нет на сайте
Записывай номера спрайтов деревьев при первом запуске в реестр, а потом из него значения для каждого дерева бери. Также и булевую переменную в реестре хранить для того чтобы знать, первый это запуск или нет. Правда вот конкретно по реестру ничего сказать не могу, т.к. в своё время до него руки не дошли. Но если помог, то от +-ка не откажусь smile

проект Mysterious Space. The losted moment
KrososДата: Среда, 07 Августа 2013, 00:58 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
А нету ли простого способа , сделать это все единственным или двумя кодами?
Можно сделать и упорядоченное рисование деревьев , я их все-равно раскидываю большими кучами.
Главное , чтобы лес был* разнообразным.
Можно сделать и 10 объектов , но тогда будет очень трудно - надо раскидывать лес на карту 10000*30000.





Мой проект


Сообщение отредактировал Krosos - Среда, 07 Августа 2013, 01:03
FadeBakerДата: Среда, 07 Августа 2013, 01:12 | Сообщение # 4
JavaSE Game Developer
Сейчас нет на сайте
Krosos, если нужно присвоить рандомный спрайт объекту, то ему в Create пропиши:
Код
sprite_index = choose(спрайт1, спрайт2 спрайт3, спрайт4, и т.д.);

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


Уроки по 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.


Сообщение отредактировал Fade - Среда, 07 Августа 2013, 01:14
KillerCompanyMeДата: Среда, 07 Августа 2013, 01:17 | Сообщение # 5
был не раз
Сейчас нет на сайте
Цитата (Krosos)
чтобы всегда был один и тот же.(Чтобы лес создался случайным , но остался одним и тем же всегда)

Цитата (Fade)
если нужно присвоить рандомный спрайт объекту, то ему в Create пропиши:
KrososДата: Среда, 07 Августа 2013, 01:37 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Fade, я знаю , но каждый раз в начале игры лес будет разный , а нужно , чтобы он всегда оставался одним и тем же ,используя всего один объект создания леса.




Мой проект


Сообщение отредактировал Krosos - Среда, 07 Августа 2013, 02:03
MrNeshДата: Среда, 07 Августа 2013, 01:41 | Сообщение # 7
Воин добра и света
Сейчас нет на сайте
При перезагрузке уровня?
Тогда сохраняй куда-то
Много хочешь из коробки...ручками


FadeBakerДата: Среда, 07 Августа 2013, 02:04 | Сообщение # 8
JavaSE Game Developer
Сейчас нет на сайте
KillerCompanyMe, пускай научится вопросы нормально задавать, чтобы получать корректный ответ.

Уроки по 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.
KrososДата: Среда, 07 Августа 2013, 02:04 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
jiumx60rus, говорю же , можно сделать упорядоченно .
Например , каждое 5 дерево , или чей ид содержит последнюю цифру 5, 4 или 3 и прочие ,но нужно , чтобы деревья изменились в самом начале уровня wacko





Мой проект


Сообщение отредактировал Krosos - Среда, 07 Августа 2013, 02:24
pelmenkaДата: Среда, 07 Августа 2013, 02:34 | Сообщение # 10
Драгоценный Тунеядец
Сейчас нет на сайте
Цитата (zaicev9797)
Записывай номера спрайтов деревьев при первом запуске в реестр, а потом из него значения для каждого дерева бери. Также и булевую переменную в реестре хранить для того чтобы знать, первый это запуск или нет. Правда вот конкретно по реестру ничего сказать не могу, т.к. в своё время до него руки не дошли. Но если помог, то от +-ка не откажусь

zaicev9797, ты это серьезно?
Krosos, пиши значения в файл и потом просто считывай из него значения. Если файла нет, значит игра должна его создать - это и будет как 1-ый запуск wink


Сталина в каждый дом!

Сообщение отредактировал pelmenka - Среда, 07 Августа 2013, 02:34
KrososДата: Среда, 07 Августа 2013, 02:42 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
pelmenka,
Сейчас попробую "умгновенить" эту запись:

global.tree=instance_find(object457,n) //Глобальное дерево(ид) равно инстансу под номером n
n+=2 //прибавляем 2 к n
with object457{ //Для объекта дерево
if id=global.tree {spr=1}} //Если ид равен глобальному дереву , то его спрайт равен 1
(Ну осталось только добавить остальное)

Если не получится , то попробую через файл..





Мой проект
KillerCompanyMeДата: Среда, 07 Августа 2013, 02:46 | Сообщение # 12
был не раз
Сейчас нет на сайте
Цитата (Krosos)
Сейчас попробую "умгновенить" эту запись:

global.tree=instance_find(object457,n) //Глобальное дерево(ид) равно инстансу под номером n
n+=2 //прибавляем 2 к n
with object457{ //Для объекта дерево
if id=global.tree {spr=1}} //Если ид равен глобальному дереву , то его спрайт равен 1
(Ну осталось только добавить остальное)

Если не получится , то попробую через файл..

Теперь понятно кто пишет коды для исходников...
KrososДата: Среда, 07 Августа 2013, 02:46 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
for (n=0 ;n<object457.instance_count;n+=1){
global.tree=instance_find(object457,n)
n+=2
with object457{
if id=global.tree {spr=2}}}
Вот так кажется...





Мой проект
KillerCompanyMeДата: Среда, 07 Августа 2013, 02:48 | Сообщение # 14
был не раз
Сейчас нет на сайте
Цитата (Krosos)
чтобы всегда был один и тот же.(Чтобы лес создался случайным , но остался одним и тем же всегда)
Как это сделать? wacko (Надеюсь поймете)

а может ты это оставишь ,как фичу?
KrososДата: Среда, 07 Августа 2013, 02:54 | Сообщение # 15
постоянный участник
Сейчас нет на сайте
KillerCompanyMe, я планировал еще дальнейшие действия с лесом ,основываясь на подобном принципе.Например, удаление для создания дыр.
Вообще хотелось бы , чтобы он сам себя создавал , а я лишь ставил бы зоны , где ему расти нельзя- что я и пытаюсь сделать.





Мой проект
KillerCompanyMeДата: Среда, 07 Августа 2013, 03:07 | Сообщение # 16
был не раз
Сейчас нет на сайте
Цитата (Krosos)
KillerCompanyMe, я планировал еще дальнейшие действия с лесом ,основываясь на подобном принципе.Например, удаление для создания дыр.
Вообще хотелось бы , чтобы он сам себя создавал , а я лишь ставил бы зоны , где ему расти нельзя- что я и пытаюсь сделать.

ну создай объект ZONA
и в настройках объекта сделай код создания зоны ,все легко ,типа
for(x =0;x<50;x+1)
{
for..... и бла бла бла


Сообщение отредактировал KillerCompanyMe - Среда, 07 Августа 2013, 03:08
KrososДата: Среда, 07 Августа 2013, 03:15 | Сообщение # 17
постоянный участник
Сейчас нет на сайте
KillerCompanyMe, да я уже сделал , то , что хотел , сейчас только доработаю это:
Надо сделать так , чтобы лес был получился разнообразным , но создала его программа и разукрасила тоже ,и дыры в нем , а я сделаю только проходы и места ,где нужно сделать его редким.





Мой проект


Сообщение отредактировал Krosos - Среда, 07 Августа 2013, 03:16
pelmenkaДата: Среда, 07 Августа 2013, 04:42 | Сообщение # 18
Драгоценный Тунеядец
Сейчас нет на сайте
Krosos, не парься и просто сделай через файл. Это же просто и удобно yes

Сталина в каждый дом!
zaicev9797Дата: Среда, 07 Августа 2013, 09:53 | Сообщение # 19
AbRaKaDaBrA
Сейчас нет на сайте
Это я и имел в виду. Разве это не реестром называется?

проект Mysterious Space. The losted moment
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Случайный спрайт (Нет , тема не о том , о чем вы сразу подумали.)
  • Страница 1 из 1
  • 1
Поиск:

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