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

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

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

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
По умолчанию Как программно нарисовать линии в Классе?

Здравствуйте. Пишу Класс в котором одна из функций рисует линии. Если эту функцию запустить в таймлайне то линии отображаются. Если же записать в Классе и запустить то ничего не происходит. Но трейсится нормально.
Сам код:
Код AS1/AS2:
class Protect {
	static var l1:MovieClip;
	static var l2:MovieClip;
 
	public function Protect() {
		lines();
	}
	private static function lines() {
		_root.createEmptyMovieClip("l1",_root.getNextHighestDepth());
		l1.beginFill(0x0000FF,30);
		l1.lineStyle(5,0xFF00FF,100);
		l1.moveTo(0,0);
		l1.lineTo(0,0);
		l1.lineTo(550,400);
		l1.endFill();
 
		_root.createEmptyMovieClip("l2",_root.getNextHighestDepth());
		l2.beginFill(0x0000FF,30);
		l2.lineStyle(5,0xFF00FF,100);
		l2.moveTo(550,0);
		l2.lineTo(0,400);
		l2.endFill();
	}
}
В чём моя ошибка?
Спасибо!

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

Регистрация: Feb 2008
Адрес: N.Novgorod
Сообщений: 80
Отправить сообщение для alecsisk с помощью ICQ
Код AS1/AS2:
class Protect {
	static var l1:MovieClip;
	static var l2:MovieClip;
 
	public function Protect() {
		lines();
	}
	private static function lines() {
		l1 = _root.createEmptyMovieClip("l1",_root.getNextHighestDepth());
		l1.beginFill(0x0000FF,30);
		l1.lineStyle(5,0xFF00FF,100);
		l1.moveTo(0,0);
		l1.lineTo(0,0);
		l1.lineTo(550,400);
		l1.endFill();
 
		l2 = _root.createEmptyMovieClip("l2",_root.getNextHighestDepth());
		l2.beginFill(0x0000FF,30);
		l2.lineStyle(5,0xFF00FF,100);
		l2.moveTo(550,0);
		l2.lineTo(0,400);
		l2.endFill();
	}
}


Последний раз редактировалось alecsisk; 17.04.2009 в 21:13.
Старый 17.04.2009, 23:31
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 3  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
спасибо!

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Вот молодец! Даже Класс пишет с заглавной буквы! Наш человек!
Art_133, не используйте _root в классах. Передавайте ссылку на него (или на любой контейнер) извне: setter/обычный метод или public/[static public] свойство. Иначе, Ваш класс привязан навсегда к _root.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 18.04.2009 в 02:24.
Старый 18.04.2009, 12:41
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 5  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
То-есть сделать так?
Код AS1/AS2:
l1 = mc.createEmptyMovieClip("l1",mc.getNextHighestDepth());
Где mc задаётся из места где создаётся экземпляр класса?
А с этим не совсем ясно "public/[static public] свойство" можете прокомментировать в 2-х словах если не сложно?

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Ну есть public свойство - я думаю, оно вам знакомо. А есть static public свойство, удобнее во многих случаях. Это свойство задается один раз
Код AS1/AS2:
MyClass.wherePaint=_root
и все обращения к wherePaint из MyClass (или из другого класса) будут идти на свойство единожды указанное (т.е. отпадает необходимость указывать его много раз)

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

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

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


 


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


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