Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   почему sprite не отображается как положено ? (http://www.flasher.ru/forum/showthread.php?t=144139)

Psycho Tiger 03.09.2010 23:44

Код AS3:

tf.appendText("w"+sprite.width as String);

Блуд недавно в моём блоге говорил, что as занимается приведением типов, а тут нужно конвертирование =)
Код AS3:

String(sprite.width);

Цитата:

Подправили бы Вы орфографию и пунктуацию ). Здесь стараются общаться грамотно.
У меня кстати это в привычку вошло. А начинал с флешера. )

dimarik 03.09.2010 23:48

Цитата:

Сообщение от lance666 (Сообщение 933393)
Попробовал сделать спрайт в спрайте, если родительский имеет размер меньше то дочерний вылазиет за его пределы. Как с этим боротся ? Надо чтобы не вылазило ничего )

Неправда )

спросите размеры у родительского спрайта. Bounding box родителя точно соответствует площади, занимаемой его детьми.

Может Вы забыли перерисовать graphics? :)

Добавлено через 13 минут
Программно нарисованное на graphics контейнера не масштабируется. Однако, включается в расчет размера контейнера. Предположим, что с помощью graphics Вы нарисовали на Sprite прямоугольник 5x30 пикселей. Размер Sprite будет составлять 5x30 px. Теперь Вы добавили в него другой спрайт размером 10x20 px и установили ему координату x=20. Размер родителя теперь составит (20 + 10)x30 px. Вообще, есть прекрасное свойство DisplayObject#opaqueBackground. Примените к родительскому контейнеру
Код AS3:

myContainer.opaqueBackground= 0xFF0000;

И очень наглядно будет видно его bounding box.

lance666 04.09.2010 00:10

Спасибо за помощь, сегодня уже не осилю, но завтра попытаюсь справится с этой задачей :-)

Добавлено через 10 минут
Код:

Может Вы забыли перерисовать graphics?
Каждый раз надо перерисовывать sprite после добавление нового обьекта в него?=D

Добавлено через 18 минут
Шайтан машина =D .
Сделал Sprite-> туда добаил textfield который больше спрайта -> перерисовал Sprite
Итог TF отмасштабировался и вписался туда =D

Как же его туда засунуть чтоб нижняя часть пряталась а скролом я мог ее поднять=D
скрол с Tf просто scroll и sprite полная каша (

dimarik 04.09.2010 00:29

Перерисовывать нужно graphics

Код AS1/AS2:

private function redrawBackground():void {
    var g:Graphics = this.graphics;
    g.clear();
    g.beginFill();
    // do other
}


В таком случае, да. Но есть вариант с масштабированием другого визуального объекта, в котором отрисован graphics хоть с 1x1 рх непосредственным заданием его размеров.

Добавлено через 4 минуты
Цитата:

Как же его туда засунуть чтоб нижняя часть обрезалась
Вот тут не понял. Зачем и чья нижняя часть должна обрезаться?

lance666 04.09.2010 00:35

я поправился пряталась )

dimarik 04.09.2010 01:50

А. Ну это
Код AS1/AS2:

DisplayObject#scrollRect
 или
DisplayObject#mask

по вкусу.


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

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