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

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

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

Регистрация: Mar 2010
Сообщений: 21
По умолчанию Параметры MovieClip из конструктора?

Столкнулся с новой не понятной для меня ситуацией.
Значит общая цель у меня - создать MovieClip не привязанный к какому-либо графическому обьекту и самостоятельно с помощу flash.display.Graphics нарисовать там окружность нужного диаметра. Но до рисования окружности столкнулся с тем, что не могу настроить размер клипа!

Написал главный класс:
Код AS3:
package {
	import flash.display.MovieClip;
	import Ball;
 
	public class Main extends MovieClip {
 
		public function Main () {
 
			var ball:Ball = new Ball();
 
			ball.x = stage.stageWidth / 2;
			ball.y = stage.stageHeight / 2;
			addChild(ball);
 
		}
 
 
	}	
}
а за ним и Ball (напомню что для него нет в библиотеке граф. обьекта)
Код AS3:
package 
{
	import flash.display.Graphics;
	import flash.display.MovieClip;
 
	public class Ball extends MovieClip 
	{
		public var r:Number;
 
		public var g:Graphics = graphics;
 
		public function Ball (r:Number = 50) {
			this.r = r;
			this.width = this.height = r;
 
			trace('r=',this.r,'width=',this.width,'height=',height);
 
		}
 
	}
 
}
Output: r= 50 width= 0 height= 0
Но почему width и height все еще нули? Обьясните пожалуйста, а то в спешке купил книгу и в ней как-то очень мало информации, а за активно здесь продвигаемым Муком пока выйти возможности нет..

Старый 09.03.2010, 10:03
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Размер клипа, это размер его содержимого. А ваш клип пустой, поэтому вы пытаетесь задать размер пустоте.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Mar 2010
Сообщений: 21
ну хорошо. на самом деле я пытался нарисовать окружность и конструктор у меня выглядел след. образом:
Код AS3:
		public function Ball (r:Number = 50) {
 
			this.r = r;
			this.width = this.height = r;
 
			//trace('r=',this.r,'width=',this.width,'height=',height);
 
			g.lineStyle(6, 0x0000FF, .5);
			g.beginFill(0x0000FF, .8);
			g.drawCircle(r, r, r);
			g.endFill();
 
		}
вот только ничего не нарисовалось

Добавлено через 3 минуты
А все понял. сначала рисуем -потом ставим размер)

Код AS3:
	public class Ball extends MovieClip 
	{
		public var r:Number;
		public var _parent:Ball;
 
		public var g:Graphics = graphics;
 
		public function Ball (r:Number = 50) {
 
			this.r = r;
 
			//trace('r=',this.r,'width=',this.width,'height=',height);
 
			g.lineStyle(6, 0x0000FF, .5);
			g.beginFill(0x0000FF, .8);
			g.drawCircle(r, r, r);
			g.endFill();
 
			this.width = this.height = r;
 
		}
 
	}
Спасибо

Добавлено через 6 минут
А как сделать чтобы в этом случае точка this.x;this.y отвечала не верхней-левой точке, а центральной?

Старый 09.03.2010, 10:51
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS3:
g.drawCircle(0, 0, r);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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