Всем привет, перечитал всю тему, юзаю 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% в области плеера всего остальное черный бекграунд, кароч глюк какойта, пчму так может быть?