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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.09.2011, 21:36
botbot вне форума Посмотреть профиль Отправить личное сообщение для botbot Найти все сообщения от botbot
  № 1  
Ответить с цитированием
botbot

Регистрация: Feb 2011
Сообщений: 100
По умолчанию не меняется ширина и высота клипа

Создаю пустой клип, добавляю его на сцену, пытаюсь поменять размер - он не меняется. Вот код
Код AS3:
package 
{
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
 
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
 
		private function init(e:Event = null):void 
		{
 
			var pane: MovieClip = new MovieClip();
			addChild(pane);
			trace('W: ' + pane.width);  // Пишет 0
			pane.width = 200;
			trace('W: ' + pane.width);  // Снова пишет 0 !!!
		}
	}
 
}
В общем почему так происходит и как клипу размер задать?

Старый 13.09.2011, 21:41
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
а с чего он должен меняться-то? он же пустой.
__________________
Reality.getBounds(this);

Старый 13.09.2011, 21:49
botbot вне форума Посмотреть профиль Отправить личное сообщение для botbot Найти все сообщения от botbot
  № 3  
Ответить с цитированием
botbot

Регистрация: Feb 2011
Сообщений: 100
ну потому что там к нему сбоку должен прилипнуть другой клип, растянувшись по высоте первого пустого, а потом первый пустой заполняется дочерними элементами. Выходит, если клип пустой то размер у него всегда нулевой? И расширить в виде пустого холста никак?

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Да. Никак.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 13.09.2011, 21:57
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну это же логично))) Какие могут быть размеры и форма у Пустоты?
Когда ы контейнере есть какое-то содержимое, тогда у него есть размер в соответствии с этим содержимым.
Если очень хочется задать какие-то размеры, но оставить "пустым", можно закрасить его прозрачной заливкой.
Код AS3:
private function init(e:Event = null):void 
{
     var pane: MovieClip = new MovieClip();
    addChild(pane);
    trace('W: ' + pane.width);  // Пишет 0
    pane.graphics.beginFill(0x000000, 0);
    pane.graphics.drawRect(0, 0, 200, 100);
    trace('W: ' + pane.width);  // Пишет 200
}

__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 13.09.2011 в 22:00.
Старый 14.09.2011, 15:05
botbot вне форума Посмотреть профиль Отправить личное сообщение для botbot Найти все сообщения от botbot
  № 6  
Ответить с цитированием
botbot

Регистрация: Feb 2011
Сообщений: 100
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Ну это же логично))) Какие могут быть размеры и форма у Пустоты?
Когда ы контейнере есть какое-то содержимое, тогда у него есть размер в соответствии с этим содержимым.
Если очень хочется задать какие-то размеры, но оставить "пустым", можно закрасить его прозрачной заливкой.
Код AS3:
private function init(e:Event = null):void 
{
     var pane: MovieClip = new MovieClip();
    addChild(pane);
    trace('W: ' + pane.width);  // Пишет 0
    pane.graphics.beginFill(0x000000, 0);
    pane.graphics.drawRect(0, 0, 200, 100);
    trace('W: ' + pane.width);  // Пишет 200
}

Спасибо, учту на будущее.
Вообще я понял, что я делал не так. Я думал размер клипа это размер холста, на котором можно рисовать. Но выходит, размер определяется границами дочерних элементов или графикой на этом клипе и меняется сам при добавлении новых элементов (и отрисовке графики, я надеюсь). И при изменении размеров самого клипа всё содержимое тоже масштабируется, а не обрезается/добавляется пустое место. Странная система, надеюсь с ней не возникает проблем. Ну да ладно, хоть понял как с ней работать.

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

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

Старый 14.09.2011, 15:14
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 8  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Ничего странного. Если необходимо обрезать - используйте маски.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 14.09.2011, 15:32
botbot вне форума Посмотреть профиль Отправить личное сообщение для botbot Найти все сообщения от botbot
  № 9  
Ответить с цитированием
botbot

Регистрация: Feb 2011
Сообщений: 100
Маски не то, scrollRect вместо них есть у клипа. Уже пользую. Удобно, как раз видимо замена холста.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от botbot Посмотреть сообщение
Маски не то, scrollRect вместо них есть у клипа. Уже пользую. Удобно, как раз видимо замена холста.
Маска не обязательно будет прямоугольной. Замены холста нет, т.к. нет самого понятия холста. Вы что-то придумываете.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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