|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
width heigth шейпа не совпадают с размерами сцены
нарисовал квадрат в Shape, по ENTER_FRAME увеличиваю его ширину, а затем высоту..
Размер сцены сделал 800х400, увеличиваю высоту например до 400, трэйсю, выводит высоту 400..( Но квадрат не дошел до краев сцены, подскажите в чем проблема. пишу так private function create():void { // Контейнер для сдвига шейпа в центр conteiner = new Sprite(); conteiner.x = maxwidth/2-1; conteiner.y = maxheight/2-1; var fillType:String = GradientType.LINEAR; var matr:Matrix = new Matrix(); matr.createGradientBox(minwidth*2/3, minheight*2/3, 45, 0, 0); bar = new Shape(); bar.graphics.lineStyle(1,0x000000, 1,false,"none"); bar.graphics.beginGradientFill(fillType, color, alphas,ratios, matr); bar.graphics.drawRect(0,0,maxwidth,maxheight); bar.graphics.endFill(); addChild(conteiner); conteiner.addChild(bar); addEventListener(Event.ENTER_FRAME,show); } private function show(e:Event):void { if(bar.width != maxwidth){ bar.width += 10; conteiner.x -= 3; } else if(bar.height != maxheight){ bar.height += 10; conteiner.y -= 3; } else{ removeEventListener(Event.ENTER_FRAME,show); } } |
|
|||||
Хм... ничего не понимаю, в вашем коде вы создаёте bar с размерами (maxwidth maxheight), и тут же проверяете его размер...
но ширина bar с рождения равняется maxwidth, это касается и высоты, и цикл сразу переходит к else.... и ентерФрейм удаляется так ничего и не сделав. Вы ничего не перепутали? |
|
|||||
Регистрация: Oct 2010
Адрес: PNZ
Сообщений: 20
|
Может быть не доходит потому, что вы сдвигаете его на 3, а увеличиваете на 5 в каждую сторону?
samana Кстати да, нормальное движение появилось лишь после того, как заменил max на min )) Последний раз редактировалось iCluster; 11.10.2010 в 22:21. |
Часовой пояс GMT +4, время: 20:36. |
|
« Предыдущая тема | Следующая тема » |
Теги |
shape , размеры , сцена |
Опции темы | |
Опции просмотра | |
|
|