Странность с переменной
|
|
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+штук) по такой схеме составлял и все норм, а тут на несколько спрайтов не пашет
Более мощный компьютер глючит быстрее и точнее.
|
|
| |
Йакуд | Дата: Пятница, 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? проверил удалением и отстройкой комнаты... ошибка осталась
Более мощный компьютер глючит быстрее и точнее.
|
|
| |
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 хотя я просто скопировал код масивов в другой обьект(с аналогичным названием) Здесь подробней. В первом объекте работа с массивами выполняется корректно? У первого и второго объекта одинаковые имена?
|
|
| |
BrightSpot | Дата: Пятница, 31 Августа 2012, 16:24 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Quote (Rean) объявлена в другой области - результат может быть непредсказуемым. в гм эта стадия упрощена... Quote (Rean) В первом объекте работа с массивами выполняется корректно? У первого и второго объекта одинаковые имена? масив был не только на спрайты и все работало... потом скопил код с масивами удалил обьект создал заново и все заработало...и дебагер теперь коректные данные выдает...
Более мощный компьютер глючит быстрее и точнее.
|
|
| |
Rean | Дата: Пятница, 31 Августа 2012, 16:35 | Сообщение # 8 |
участник
Сейчас нет на сайте
| Чудеса )
|
|
| |