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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 14.08.2014, 04:05
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
У тебя сейчас выходит, что drawCloud, cloud и onTimer вложены в конструктор (не являются методами класса) и к тому же они нигде не вызываются.

Логично было бы методы drawCloud и cloud аннулировать вовсе и выполнить все эти действия непосредственно к конструкторе — так мы избежим лишней перепосылки входящих параметров вроде cloudX, alpha, delay и т.д.; а обработчик onTimer по-хорошему вынести бы "за скобку" конструктора и сделать полноценным методом класса.

Код AS3:
package outside
{
	import flash.display.Shape;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
        //Класс с анимацией. наверное. если это вообще является подобием анимации.
 
	public class Clouds extends Shape
	{
		public var shape:Shape = new Shape;
		public var _alpha:Number;
		public var _cloudX:Number;
		public var _cloudY:Number;
		public var _delay:Number;
		public var _repeatCount:int;
 
		public function Clouds(cloudX:Number = 0, cloudY:Number = 0, alpha:Number = 0.6, delay:Number = 50, repeatCount:int = 0)
		{
			//отрисовывается что-то типо облачка
 
			/* Это уже не нужно.
			   _alpha = alpha;
			   _cloudX = cloudX;
			   _cloudY = cloudY;  */
			shape.graphics.lineStyle(2, 0xA0EBFD, alpha); // сработает, но лучше придумать другое имя для параметра
			shape.graphics.beginFill(0xA0EBFD);
			shape.graphics.drawCircle(100,100,20);
			shape.graphics.drawCircle(160,100,20);
			shape.graphics.endFill();
			shape.graphics.beginFill(0xA0EBFD);
			shape.graphics.drawCircle(130, 100, 32);
			shape.graphics.endFill();
			shape.x = cloudX;
			shape.y = cloudY;
 
			var timer:Timer = new Timer(delay, repeatCount);
 
			/* Во-первых, почему сначала используем (таймер в оригинале строкой выше),
			   а лишь затем присваиваем значения Оо задом-наперед получается.
			   Во-вторых, уже не нужно.
			   _delay = delay;
			   _repeatCount = repeatCount;  */
			timer.addEventListener(TimerEvent.TIMER, onTimer);
			timer.start();
		}
 
		/* Вот теперь это метод класса, а не какая-то функция в теле конструктора. */
		private function onTimer(event:TimerEvent):void
		{
			shape.x++
		}
	}
}
__________________
Поймай яблоко 2!

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

Теги
анимация во флеш , анимация формы , отображение
Опции темы
Опции просмотра

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

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


 


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


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