Пятница, 22 Ноября 2024, 21:29

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Странность с переменной
BrightSpotДата: Пятница, 31 Августа 2012, 02:12 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
в общем не могу понять как решить странную проблему:
в общем у меня есть обьект o_base в котором в масиве записаны спрайты:
Code

_sprite[1]=s_sprite1;//s_sprite1 - имя спрайта
_sprite[2]=s_sprite2;//аналогично


второй обьект рисует:
Code
draw_sprite_ext(o_base._sprite[2],-1,x,y,1,1,0,1)//2- нужный номер спрайта

тут и начались странные проблемы... 1- выдает ошибку что нет такого спрайта, 2- выдает левый спрайт.
подставив названия спрайтов все нормально... теперь не могу понять в чем проблема раньше базы для итемов(20+штук) по такой схеме составлял и все норм, а тут на несколько спрайтов не пашет wacko



Более мощный компьютер глючит быстрее и точнее.
ЙакудДата: Пятница, 31 Августа 2012, 02:30 | Сообщение # 2
участник
Сейчас нет на сайте
BrightSpot, ты уверен, что в комнате ты имеешь один объект o_base? Проверь через дебаг информацию лучше. Или где-нибудь нарисуй instance_count(o_base); (или как там функция, не помню. давно в ГМ не прогал)

"Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso
.blanco 2.0
BrightSpotДата: Пятница, 31 Августа 2012, 02:47 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Quote (Йакуд)
что в комнате ты имеешь один объект o_base?

проверил удалением и отстройкой комнаты... ошибка осталась cry



Более мощный компьютер глючит быстрее и точнее.
ReanДата: Пятница, 31 Августа 2012, 13:09 | Сообщение # 4
участник
Сейчас нет на сайте
Приведенных в первом посте данных не достаточно, чтобы обнаружить ошибку.
Проблема может быть в областях видимости, в неправильном присвоении где-нибудь ранее.
Вплоть до опечатке.
Уверены, что отрисовка спрайтов не происходит раньше, чем заполнение массива?
BrightSpotДата: Пятница, 31 Августа 2012, 14:16 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Quote (Rean)
Проблема может быть в областях видимости,

не совсем понял...
Quote (Rean)
неправильном присвоении где-нибудь ранее

отсутствует(проверено раз 10)

Quote (Rean)
Вплоть до опечатке.

проверено...
Quote (Rean)
что отрисовка спрайтов не происходит раньше, чем заполнение массива?

тоже перепроверено много раз и разными способами...

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

Добавлено (31.08.2012, 14:16)
---------------------------------------------
тема закрыта... хотя я просто скопировал код масивов в другой обьект(с аналогичным названием) чет мне не нравятся такие дела...



Более мощный компьютер глючит быстрее и точнее.
ReanДата: Пятница, 31 Августа 2012, 15:50 | Сообщение # 6
участник
Сейчас нет на сайте
Quote
не совсем понял...

Такие проблемы бывают, если объявлены переменные с разными уровнями доступа. Поэтому, когда происходит попытка получить данные из переменной, которая объявлена в другой области - результат может быть непредсказуемым.

Quote
хотя я просто скопировал код масивов в другой обьект(с аналогичным названием)

Здесь подробней. В первом объекте работа с массивами выполняется корректно? У первого и второго объекта одинаковые имена?
BrightSpotДата: Пятница, 31 Августа 2012, 16:24 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Quote (Rean)
объявлена в другой области - результат может быть непредсказуемым.

в гм эта стадия упрощена...
Quote (Rean)
В первом объекте работа с массивами выполняется корректно? У первого и второго объекта одинаковые имена?

масив был не только на спрайты и все работало... потом скопил код с масивами удалил обьект создал заново и все заработало...и дебагер теперь коректные данные выдает...



Более мощный компьютер глючит быстрее и точнее.
ReanДата: Пятница, 31 Августа 2012, 16:35 | Сообщение # 8
участник
Сейчас нет на сайте
Чудеса )
  • Страница 1 из 1
  • 1
Поиск:

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