Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.08.2010, 22:03
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Проблемы с height для спрайтов или шейпов

Код AS3:
sp = new Shape();
			sp.graphics.beginFill(0x000000);
			sp.graphics.drawRect(0,stage.stageHeight/2,stage.stageWidth,2);
			sp.graphics.endFill();
			sp.height = 12;
			addChild(sp);
исчезает со сцены!!!

если убрать sp.height = 12; то все норм. Но мне нужно по ходу динамически менять height . В чем проблема?!

Старый 18.08.2010, 23:02
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 2  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
забавный глюк)
или может и не глюк,а код не верный.
в любом случае могу только предложить делать addChild в какои-нибудь мувик и менять размеры мувика.что работает.

Старый 18.08.2010, 23:18
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код верный. Интересна зависимость, нашел. Что при изменении height почему то меняется y . Причем со странной зависимостью. Вот полный пример кода

Код AS3:
sp = new Shape();
			sp.graphics.beginFill(0x000000);
			sp.graphics.drawRect(0,stage.stageHeight/2,stage.stageWidth,2);
			sp.graphics.endFill();
			addChild(sp);
Код AS3:
setTimeout(openSlot,500);
 
private function openSlot():void {
			sp.height = 10;
			sp.y = -800;
 
		}
Ради интереса, при таком взаимодействии наш шейп остается на том же y что и был изначально ( тоесть stage.stageHeight/2). Но стоит не изменить y шейп улетает фиг знает куда, тоесть понятно что он не пропадает, а выставляет свою координату. Хотя при трейсе все равно покаже 0,0 )) И че это за фигня ваще ??!!

Старый 18.08.2010, 23:21
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 4  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
это мистика флэша))она всегда была есть и будет есть))
по сабжу...
О_о

Старый 18.08.2010, 23:36
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
забавно.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 18.08.2010, 23:47
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 6  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Посмеемся дальше.
Открываю новый проект. Пишу прям на кадре. создаю шейп задаю коррдинаты видсы и хейтсы. Тестирую - все ок! НАДОЖЕ!!! беру создаю класс. пишу в нем все тоже самое что и в кадре писал - ФИГУ вам опять глюки ))). Запускаю еще раз кадр, потом еще раз.... Весь от злости изнемогая.... Снова загружаю через класс - ОПА! все нормально!!!..... и как тут жить?! ))) Причем даю слово что не мой косяк, тоесть код я не менял.... ни разу.... но с 100 раза как грится заработало...

Старый 18.08.2010, 23:56
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Наверняка есть зависимость.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 19.08.2010, 00:02
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Не вникал, почему исчезает, прокоментирую это:
Цитата:
Что при изменении height почему то меняется y .
Отрисовывая вот так:
Код AS3:
sp.graphics.drawRect(0,stage.stageHeight/2,stage.stageWidth,2);
Мы на самом деле рисуем в точке с y=stage.stageHeight/2, но не помещаем этот квадрат туда.
То есть в итоге у нас получается большой мувик, высотой stage.stageHeight/2+2.
Сжимая его, конечно, сжимается не этот отрисованый квадратик, а весь большой мувик.
Наверно, надо написать вот так:
Код:
sp = new Shape();
			sp.graphics.beginFill(0x000000);
			sp.graphics.drawRect(0,0,stage.stageWidth,2);
			sp.graphics.endFill();
			sp.height = 12;
sp.y=stage.stageHeight/2;
			addChild(sp)

Старый 19.08.2010, 00:03
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 9  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Зависимость найдена методом тыка. На будущее поколениям. Если собираемся менять какие либо атрибуты, нужно создавать фигуру в 0-0 всегда. А только потом настраивать как угодно!....жесть вот уж не знал

Добавлено через 1 минуту
Psycho Tiger спасибо, сам дошел до этого. Гдеж ты раньше был)) убил часы на зависимость!

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:12.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.