0
我想用“alpha”来产生效果,但是当我使用特定的类在我的文本上设置滚动条时,文本不响应我的阿尔法。 您会看到该文本在补间开头处不响应alpha 0。alpha不能在文本上工作(flash,as3)
我正在使用一个很好的滚动条类,我在互联网上找到,但我无法解释为什么会发生这种情况。
这里是我在导入另一个类的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);
}
}
}
你知道我能做些什么来使阿尔法工作?
非常感谢
干杯
嗨帕特里克斯,我把所有的代码,我用,第一块代码是我加载,而最后2块代码就是这个类本身..我测试了一个带有文本的单个movieclip,并且alpha可以工作,但是这个类不允许我用滚动条做同样的事情。 – Paul
感谢您的帮助,我欣赏,似乎如果我使用滚动条,文本上的alpha不起作用。我不知道,一定有我失踪的事情... – Paul