Воскресенье, 06 Октября 2024, 19:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
GameMixДата: Суббота, 12 Ноября 2011, 09:01 | Сообщение # 2661
старожил
Сейчас нет на сайте
Всем привет!

Интересует вопрос: почему сурфейсы в готовых играх на Game Maker у меня отображаются отлично, а при запуске моего проекта ужасно искажаются?
Компилятор GM что-то делает с сурфейсами?!

P.S. Дело точно не в коде. На другой машине проверял - отображается идеально.


Steel Standoff - 2D аркада.
Мои статьи
Гриша_БыстровДата: Суббота, 12 Ноября 2011, 14:50 | Сообщение # 2662
частый гость
Сейчас нет на сайте
Как сделать,чтобы при переходе в следующую комнату кол-во жизней,которые были набраны не изменялось?А то при переходе жизни становятся равны стандартному кол-ву.


MrIncrofДата: Суббота, 12 Ноября 2011, 14:53 | Сообщение # 2663
Lite Programmer
Сейчас нет на сайте
Гриша_Быстров, используй глобальные переменные и они сохранятся при переходе
Гриша_БыстровДата: Суббота, 12 Ноября 2011, 14:56 | Сообщение # 2664
частый гость
Сейчас нет на сайте
4aBo, можно по конкретнее?


Ex3mDMДата: Суббота, 12 Ноября 2011, 15:15 | Сообщение # 2665
участник
Сейчас нет на сайте
Вот например:
Code
my_health=100

Так здоровье не будет сохраняться.
А так будет:
Code
global.my_health=100

Поскольку мы делаем переменную глобальной.
UPD: Она будет использоваться везде, сохраняя свое значение.


Сообщение отредактировал Ex3mDM - Суббота, 12 Ноября 2011, 15:18
FenechДата: Суббота, 12 Ноября 2011, 15:17 | Сообщение # 2666
частый гость
Сейчас нет на сайте
Quote (Гриша_Быстров)
можно по конкретнее?

Поподробнее читай справку.
Code
lives - встроенная глобальная переменная жизней
health - встроенная глобальная переменная здоровья

Или используй свои глобальные переменные, например:
Code
global.hp
global.liv


Ex3mDM, Что? health - это встроенная глобальная переменная. Если сделать global.health, то вероятнее всего либо вылезет ошибка либо все равно будет использоваться как глобальная переменная. Вы что-то путаете!


Сообщение отредактировал Fenech - Суббота, 12 Ноября 2011, 15:18
Ex3mDMДата: Суббота, 12 Ноября 2011, 15:21 | Сообщение # 2667
участник
Сейчас нет на сайте
Quote (Fenech)
Ex3mDM, Что? health - это встроенная глобальная переменная. Если сделать global.health, то вероятнее всего либо вылезет ошибка либо все равно будет использоваться как глобальная переменная. Вы что-то путаете!

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


Сообщение отредактировал Ex3mDM - Суббота, 12 Ноября 2011, 15:24
Гриша_БыстровДата: Суббота, 12 Ноября 2011, 15:30 | Сообщение # 2668
частый гость
Сейчас нет на сайте
Не получается.Если пишу lives=16,при переходе в другую комнату они опять равняются стандартному числу.А global.lives=16 вобще не работает sad


Ex3mDMДата: Суббота, 12 Ноября 2011, 15:35 | Сообщение # 2669
участник
Сейчас нет на сайте
Гриша_Быстров, лучше писать свои переменные. Попробуй напиши заместо lives - lvs, ну или что-то типо того.
Если нужна глобальная переменная lvs, то пишите:
Code
global.lvs=16

UPD: вроде должно работать как нужно. smile
UPD2: Объект в котором находится данный код должен быть добавлен только в первую комнату, незачем ставить объект в каждой комнате, иначе - все будет работать не правильно.


Сообщение отредактировал Ex3mDM - Суббота, 12 Ноября 2011, 15:39
FenechДата: Суббота, 12 Ноября 2011, 15:36 | Сообщение # 2670
частый гость
Сейчас нет на сайте
Quote (Гриша_Быстров)
Не получается.Если пишу lives=16,при переходе в другую комнату они опять равняются стандартному числу.А global.lives=16 вобще не работает

Вынеси lives в отдельный объект, поставь только в первый уровень (!!!) и сделай его постоянным, раз на то пошло!
Гриша_БыстровДата: Суббота, 12 Ноября 2011, 15:40 | Сообщение # 2671
частый гость
Сейчас нет на сайте
Fenech, спасибо=)

Добавлено (12.11.2011, 15:40)
---------------------------------------------
Лови + в репутацию.



GAZ777Дата: Суббота, 12 Ноября 2011, 17:51 | Сообщение # 2672
участник
Сейчас нет на сайте
Нарисовал healthbar через другой объект. А в игре виден только background healthbarа, т.е. просто черная полоска. Если нарисую кнопкой, всё работает. В чем проблема? выложил исходник с данной проблемой. вот ссылка

<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
LunarPixelДата: Суббота, 12 Ноября 2011, 17:55 | Сообщение # 2673
старожил
Сейчас нет на сайте
o_pl_1.health_1 smile

GAZ777Дата: Суббота, 12 Ноября 2011, 18:05 | Сообщение # 2674
участник
Сейчас нет на сайте
ты имеешь в виду, что я для o_pl_1 сделал health_2? поменял, не вышло

Добавлено (12.11.2011, 18:05)
---------------------------------------------
ВСЁ ПОНЯЛ!

Добавлено (12.11.2011, 18:05)
---------------------------------------------
Ёлки-палки, как я мог так ступить sad


<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
FenechДата: Суббота, 12 Ноября 2011, 18:06 | Сообщение # 2675
частый гость
Сейчас нет на сайте
GAZ777, Дело в том, что отдельный объект рисует healthbar локальной переменной, то есть эта переменная должна быть установлена в самом объекте. Чтобы healthbar считывал переменную другого объекта, нужно всего лишь эту переменную сделать глобальной!
Вот исправленный исходник!
GAZ777Дата: Суббота, 12 Ноября 2011, 18:10 | Сообщение # 2676
участник
Сейчас нет на сайте
thanks you

Добавлено (12.11.2011, 18:07)
---------------------------------------------
Fenech, всё понял smile +

Добавлено (12.11.2011, 18:10)
---------------------------------------------
Fenech, но с global.XXX лучше баловаться не буду. happy


<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
FenechДата: Суббота, 12 Ноября 2011, 18:15 | Сообщение # 2677
частый гость
Сейчас нет на сайте
GAZ777, И да, я перепроверил и нашел еще одну ошибку. Жизни не отнимались у одного из танков, уж не знаю я ли это пропустил или ты!
Вот исправил.

Quote
но с global.XXX лучше баловаться не буду

Почему же? Я, например, сначала научился глобальными переменными управлять и совал их куда надо и не надо! Глобальные переменные отличаются от локальных лишь тем, что их значения могут быть изменены в другом объекте.


Сообщение отредактировал Fenech - Суббота, 12 Ноября 2011, 18:17
GAZ777Дата: Четверг, 17 Ноября 2011, 19:08 | Сообщение # 2678
участник
Сейчас нет на сайте
Quote (Fenech)
Глобальные переменные отличаются от локальных лишь тем, что их значения могут быть изменены в другом объекте.


Если так, буду смело пользоваться smile

Добавлено (17.11.2011, 19:08)
---------------------------------------------
как сделать случайное значение? например draw_sprite(spr_hero,-1,случайное,случайное)


<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
MrIncrofДата: Четверг, 17 Ноября 2011, 19:16 | Сообщение # 2679
Lite Programmer
Сейчас нет на сайте
GAZ777, есть несколько видов:
Code
random(x);

Возвращает значение от 0 до значения х с плавающей запятой
Code
irandom(x);

Возвращает значение от 0 до значения х без плавающей запятой
Code
random_range(x1, x2);

Возвращает значение от x1 до значения х2 с плавающей запятой
Code
irandom_range(x1, x2);

Возвращает значение от x1 до значения х2 без плавающей запятой

Добавлено (17.11.2011, 19:16)
---------------------------------------------
Ах да, ещё есть

Code
choose(x1, x2, x3...x16);

Возвращает любое случайное значение из заданных аргументов. Всего аргументов может быть не более 16-ти
SaiteiДата: Пятница, 18 Ноября 2011, 01:09 | Сообщение # 2680
старожил
Сейчас нет на сайте
могу ли получить легенький пример с анимацией (кодированной)?
Собственно для платформера. Все части тела (голова, руки, ноги, торс) должны быть отдельными объектами. Но при этом должна создаваться видимость, что они все едины. Чтобы реагировали соответственно (пошел - началась анимация и т.п.)
ГГ будет по типу minecraft


Сообщение отредактировал Arz - Пятница, 18 Ноября 2011, 01:11
Поиск:

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