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

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

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

Регистрация: May 2013
Сообщений: 12
По умолчанию Динамическое изменение длины линии

Здравствуйте уважаемые гуру AS3

уже неделю бьюсь над вроде бы простой задачей.
Имеется пользовательский класс Nit (с параметром h), которые создает линию(нить). В этом классе есть метод, который должен увеличивать или уменьшать размер нити по оси y.

В главном классе два объекта класса Nit, и при нажатии на кнопку они должны плавно "растягиваться" или сужаться до определенного момента.

Проблема в том, что длину нити код меняет, а перерисовывать объект с новыми координатами не перерисовыет.
толку у меня не хватет.

Класс:
Код AS3:
package atv{
	import flash.geom.*;
	import flash.display.*;
	public class Nit extends Sprite{
 
			public var nit:Sprite=new Sprite();
			public var h:int;
			public var hh:int;
 
		public function Nit(h){
				nit.graphics.lineStyle(2,0x000000);
				nit.graphics.moveTo(x,y);
				nit.graphics.lineTo(x,h);
				addChild(nit);
		}
 
		public function uv(){
			hh+=15;
		}
 
		public function unUv(){
			hh-=15;
		}
 
		public function Sd(k:Boolean){
				if (k==true){
					uv();
					nit.graphics.lineTo(x,hh);
				}else{
					unUv();
					nit.graphics.lineTo(x,hh);
				}
 
		}
 
	}
}
задание и вызов: Фрагменты кода.

Код AS3:
private var nitL:Nit=new Nit(100);
private var nitP:Nit=new Nit(50);
 
public function btnClick(e:MouseEvent):void{
	timer.addEventListener(TimerEvent.TIMER,per);
	timer.start();
}
 
public function per(e:TimerEvent):void{
	УСЛОВИЕ{
		nitP.Sd(true);
		nitL.Sd(false);
 
	}else{
		timer.stop();
	}
}


Последний раз редактировалось iNils; 23.05.2013 в 02:53.
Создать новую тему   Часовой пояс GMT +4, время: 09:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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