Показать сообщение отдельно
Старый 11.11.2010, 13:25
kluv666 вне форума Посмотреть профиль Отправить личное сообщение для kluv666 Найти все сообщения от kluv666
  № 234  
Ответить с цитированием
kluv666

Регистрация: Nov 2010
Сообщений: 9
Всем привет, перечитал всю тему, юзаю CS5 и возникла проблема (выше она уже была) но т.к. люди которые давали ответы юзали не CS5 они мне не помогли,

при присвоении:
this.txt.text = "Loading..." ругается. "Термин не определен и не имеет свойств"

код:

Код AS3:
package main {
	import flash.display.MovieClip;
	import flash.events.*;
 
	dynamic public class Preloader extends MovieClip {
 
		public function Preloader() {
			// Нужно периодически вызывать функцию Update, которая будет обновлять процент загрузки
			// Используем старый-добрый onEnterFrame с учетом событий AS3
			addEventListener(Event.ENTER_FRAME, Update);
		}
 
		public function Update(e : Event):void {
 
			var bytesLoaded:Number = stage.loaderInfo.bytesLoaded;
			var bytesTotal:Number = stage.loaderInfo.bytesTotal;
			var s:String = "";
			var percent:Number = 0;
			if (bytesTotal>0){
				percent = Math.floor(bytesLoaded/bytesTotal*100);
				s = percent+"% ("+
				Math.round(bytesLoaded/1024)+"kb / "+
				Math.round(bytesTotal/1024)+"kb)";
			}
			this.txt.text="Loading... "+s;
			this.progressbar_mc.gotoAndStop(percent+1);
			// Если полностью загрузились, то переходим на второй кадр
			if (bytesLoaded==bytesTotal || bytesTotal==0){
				removeEventListener(Event.ENTER_FRAME, Update);
				(parent as MovieClip).play();
			}
		}
 
	}
}
далле сделал :

Код AS3:
public function Update(e : Event):void {
    trace(">>> " + txt);
    trace(">>> " + stage);
    var bytesLoaded:Number = stage.loaderInfo.bytesLoaded;
    var bytesTotal:Number = stage.loaderInfo.bytesTotal;
 
    // output:
    // >>> [object TextField]
    // >>> null
получается stage не видит? тогда пчму ругается на txt?

динамический текст txt есть, все сделано по мануалу, никаких различий с оригинальным исходником нет, оригинальный исходник прекрасно работает без ошибок (


всем спасибо, все заработало, я м.....к ) небыл прописан класс для мувика preloader_mc )

Добавлено через 8 часов 10 минут
и так новая проблема с перемещением background,

1. создал новый мувик, прописал ему класс background, добавил в него картинку 2000 на 2000.

2. код:
Код AS3:
package main {
 
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.events.Event;
	import flash.geom.Rectangle;
 
 
	public class Background extends MovieClip {
 
 
		public function Background() {
			addEventListener(MouseEvent.MOUSE_DOWN,handleMouseDown);
			addEventListener(MouseEvent.MOUSE_UP,handleMouseUp);
			stage.addEventListener(Event.MOUSE_LEAVE,handleMouseUp);
		}
 
		function handleMouseDown(event:Event):void{
			var dx:Number = width-stage.stageWidth;
			var dy:Number = height-stage.stageHeight;
//			trace(dx);
//			trace(dy);
			var dragRect:Rectangle = new Rectangle(-dx,-dy,dx,dy);
			startDrag(false, dragRect);
		}
 
		function handleMouseUp(event:Event):void{
			stopDrag();
		}
	}
 
}
при клике в плеере картинка пчмуто заскакивает влево на половину и при трассировке dx и dy пишет 1190 и 1599, и когда начинаю перемещать картинка перемещается но она на 25% в области плеера всего остальное черный бекграунд, кароч глюк какойта, пчму так может быть?


Последний раз редактировалось kluv666; 11.11.2010 в 14:58.