2011-10-12 17 views
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

从一个角度AS3一点,你将不能够除非其embedFonts属性设置为true,应用透明度到TextField。我会建议问题是与加载的SWF,但你不提供任何代码...

// -------------------- ---编辑--------------------- //

如果你干脆这样做会发生什么?文字是否出现?

 
function ec (e:Event){ 
    var a = e.target.content; 

    a.alpha = 0; 
    addChild(e.target.content); 

} 

您是否在本地测试.swf?
您是否尝试过简单地加载电影,没有ScrollBar并设法让Alpha工作?
目前,我没有看到任何ScrollBar类可能会干扰文本透明度...

+0

嗨帕特里克斯,我把所有的代码,我用,第一块代码是我加载,而最后2块代码就是这个类本身..我测试了一个带有文本的单个movieclip,并且alpha可以工作,但是这个类不允许我用滚动条做同样的事情。 – Paul

+0

感谢您的帮助,我欣赏,似乎如果我使用滚动条,文本上的alpha不起作用。我不知道,一定有我失踪的事情... – Paul