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

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

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

Регистрация: Mar 2001
Сообщений: 160
Отправить сообщение для Nata_cher с помощью ICQ Отправить сообщение для Nata_cher с помощью Skype™
Post при изменении ширины Sprite происходит его перемещение

реализован класс прелоадера
Код:
public class Preloader extends MovieClip {
			 
			trace ("Preloader");
			public var ldr:Loader = new Loader();
			public var target0:Sprite = new Sprite();
			public var target1:Sprite = new Sprite();
			public var target2:Sprite = new Sprite();
			
			public function Preloader() {
				target0.graphics.beginFill(0x004B91);
				target0.graphics.drawRect(0, 0, 1024, 728);
				target0.name = "target0";
				
				target1.graphics.beginFill(0x2077C6);
				target1.graphics.drawRect(400, 400, 100, 10);
				target1.name = "target1";
				
				target2.graphics.beginFill(0x78B4E9);
				target2.graphics.drawRect(400, 400, 100, 10);
				target2.name = "target2";
				
				ldr.load(new URLRequest("sprites/sitecabo_080805.swf"));
				ldr.contentLoaderInfo.addEventListener(Event.OPEN,open);
				ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progress);
				ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,result);
			}
			function open(evt:Event):Object {
			trace ("opening file");
			addChild(target0);
			addChild(target1);
			
			addChild(target2);
			return target1;
			}
			function progress(evt:ProgressEvent):Object {
			trace ("loaded: " + evt.bytesLoaded);
			//target2.scaleX=evt.bytesLoaded*100/evt.bytesTotal;

			target2.width=Math.round(evt.bytesLoaded*100/evt.bytesTotal);
			return target2;
			}
			function result(evt:Event):Object {
			trace ("fully loaded");
			addChild(ldr);
			//delete target1;
			//delete target2;
				//trace(ldr.numChildren);
				return ldr;
			}
		}
при изменении ширины полоски загруки(в процентах)
Код:
arget2.width=Math.round(evt.bytesLoaded*100/evt.bytesTotal);
происходит ее перемещение, т.е. полоска движется слева направо и увеличивает ширину. как избежать ее перемещения?
__________________
Лень - двигатель прогресса....

Старый 07.08.2008, 13:15
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Значит у спрайта начало координат находится за пределами его размерной рамки.

Старый 07.08.2008, 13:19
Nata_cher вне форума Посмотреть профиль Отправить личное сообщение для Nata_cher Посетить домашнюю страницу Nata_cher Найти все сообщения от Nata_cher
  № 3  
Ответить с цитированием
Nata_cher

Регистрация: Mar 2001
Сообщений: 160
Отправить сообщение для Nata_cher с помощью ICQ Отправить сообщение для Nata_cher с помощью Skype™
а как задать начало координат спрайту?
Код:
target2.x=100;
?
все равно не попадает а перемещается при этом дальше на 100
__________________
Лень - двигатель прогресса....

Старый 07.08.2008, 13:19
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 4  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Потому что у Вас центр Shape находится в координатах (400,400).
Рисуйте от (0,0) а спрайт сместите в (400,400) и меняйте ширину.


Последний раз редактировалось mre; 07.08.2008 в 13:22.
Старый 07.08.2008, 13:49
Nata_cher вне форума Посмотреть профиль Отправить личное сообщение для Nata_cher Посетить домашнюю страницу Nata_cher Найти все сообщения от Nata_cher
  № 5  
Ответить с цитированием
Nata_cher

Регистрация: Mar 2001
Сообщений: 160
Отправить сообщение для Nata_cher с помощью ICQ Отправить сообщение для Nata_cher с помощью Skype™
Работает!
Спасибо за оперативную помощь!
__________________
Лень - двигатель прогресса....

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

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

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


 


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


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