Я хотел бы создать эффект с помощью "альфы", но когда я использую определенный класс для установки полосы прокрутки в моем тексте, текст не отвечает на мою альфу.
Вы увидите, что текст не соответствует альфа-0 в начале анимации.
Я использую хороший класс полосы прокрутки, который нашел в интернете, но не могу объяснить, почему это происходит.
Вот мой код в fla, который импортирует другой класс, который импортирует класс полосы прокрутки ;-):
import com.greensock.*;
import com.greensock.easing.*;
var loader:Loader = new Loader;
var url:URLRequest = new URLRequest("Rhizo.swf");
loader.load(url);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ec);
function ec (e:Event){
var a = e.target.content;
a.alpha = 0;
addChild(e.target.content);
TweenLite.to(a, 3, { x:30, alpha:1});
}
класс документа, связанный с fla, который содержит код выше, где я вызываю класс полосы прокрутки:
public class ScrollBarAS3 extends MovieClip {
public var my_scrollbar:MakeScrollBar;
public function ScrollBarAS3() {
my_scrollbar = new MakeScrollBar( scroll_mc, scroll_text );
scroll_txt.selectable = true;
}
public function scroll_text( n:Number ) {
scroll_txt.scrollV = Math.round( ( scroll_txt.maxScrollV - 1 ) * n ) + 1;
}
и вот класс полосы прокрутки:
package {
import flash.display.Stage;
import flash.display.MovieClip;
import flash.events.*;
import flash.geom.Rectangle;
public class MakeScrollBar extends MovieClip {
private var host_mc:MovieClip;
private var call_back:Function;
private var drag_mc:MovieClip;
private var track_mc:MovieClip;
private var scroll_rect:Rectangle;
private var upper_limit:Number;
private var range:Number;
public function MakeScrollBar( _mc:MovieClip, cb:Function ) {
host_mc = _mc;
call_back = cb;
drag_mc = host_mc.drag_mc; //
drag_mc.buttonMode = true;
drag_mc.mouseChildren = false
drag_mc.addEventListener( MouseEvent.MOUSE_DOWN, press_drag );
track_mc = host_mc.track_mc;
track_mc.buttonMode = true;
track_mc.mouseChildren = false
track_mc.addEventListener( MouseEvent.CLICK, click_track );
set_limits();
}
private function press_drag( event:MouseEvent ):void {
/***************************************************/
drag_mc.stage.addEventListener( MouseEvent.MOUSE_UP, release_drag, false, 0, true );
/***************************************************/
drag_mc.startDrag( false, scroll_rect );
drag_mc.addEventListener( Event.ENTER_FRAME, drag );
}
private function release_drag( event:MouseEvent ):void {
drag_mc.removeEventListener( Event.ENTER_FRAME, drag );
drag_mc.stage.removeEventListener( MouseEvent.MOUSE_UP, release_drag );
drag_mc.stopDrag();
}
private function click_track( event:MouseEvent ):void {
}
private function set_limits():void {
scroll_rect = new Rectangle( track_mc.x, track_mc.y, 0, track_mc.height - drag_mc.height );
upper_limit = track_mc.y;
range = track_mc.height - drag_mc.height;
}
private function drag( event:Event ):void {
var p = ( drag_mc.y - track_mc.y ) / range;
call_back( p );
}
}
}
Вы знаете, что я мог бы сделать, чтобы альфа работала?
Большое спасибо
Приветствия