2012-12-26 57 views
2

我试图在我的courseware开发Flash中实现自定义谷歌搜索。我定义了一个名为'Main'(Main.as)的类,并将我的搜索代码放在那里。但问题是,主类与我的课件中包含的其他代码有冲突(我在组合框&其他基础导航课件中)。我不知道如何解决它。有没有什么办法可以将这段代码放入时间轴层?请帮助..谢谢。这里是我的主类:如何实现自定义的谷歌搜索的ActionScript 3.0

package 
{ 
    import flash.display.Sprite; 
    import flash.events.MouseEvent; 
    import flash.events.KeyboardEvent; 
    import flash.ui.Keyboard; 
    import flash.net.navigateToURL; 
    import flash.net.URLRequest; 

    public class Main extends Sprite 
    { 
     public function Main():void 
     { 
      searchButton.addEventListener(MouseEvent.MOUSE_UP, google); 
      addEventListener(KeyboardEvent.KEY_DOWN, google); 
      searchTerms.addEventListener(MouseEvent.MOUSE_DOWN, selectText); 
     } 

     private function google(e:*):void 
     { 
      if(e.type == "mouseUp") 
      { 
       navigateToURL(new URLRequest("http://www.google.com/search?q=" + searchTerms.text)); 
      } 
      else if(e.keyCode == Keyboard.ENTER) 
      { 
       navigateToURL(new URLRequest("http://www.google.com/search?q=" + searchTerms.text)); 
      } 
     } 

     private function selectText(e:MouseEvent):void 
     { 
      searchTerms.setSelection(0, searchTerms.length); 
     } 
    } 
} 
+0

如果有其他代码_that主类与_冲突,您可以发布相冲突的代码吗? – Foggzie

+0

其实它太多了!我在另一个Flash文件(只包含搜索字段和按钮)中尝试了相同的代码,并且它的工作正常。当我将其添加到我的课程时,它会给出如此多的错误信息。 –

+2

如果你有多个错误,你需要逐个解决它们。如果你把这段代码放在另一个flash项目中,那么这意味着你已经发布了工作代码,并且我们没有什么可以做的......如果你只是说有太多的外部错误,但没有提供任何细节,我们无法提供帮助。 – Foggzie

回答

2

从你分享的内容&消息here,我假设你正在试图通过Flash IDE,而在同一时间有称为主一文档类添加代码,为您的应用。

有很多方法可以解决这个问题。

假设你要保持你的时间轴代码不变,同时增加主类的一个实例:

  • 添加一个空的影片剪辑库,说SearchClass。

  • 转到影片剪辑的属性&单击导出为动作。

  • 将该类设置为Main。确保Main.as位于Fla的外部。

  • 将此动画片段添加到舞台上,任何帧或图层上。

  • 请记住清除文档类字段。


作为一个侧面说明,你也应该重命名类主要为有意义,就像SearchClass。

如果你想知道有关设置VS类的基类,

我们使用的基类,只有当你希望(通过添加UI元素如)以扩展类的功能。


您也简单地直接从时间轴代码调用类为:

var main:Main = new Main(); 

addChild(main); 

只需确保Main.as文件旁边就是FLA ...即确保路径可用于编译器。

+0

感谢您的回答。但我没有得到你的第二点**检查出口的动作**。你会解释更多一点吗? –

+1

检查或点击...这是一个复选框,所以这个动作是一个检查。 – loxxy

+0

你描述了一切,但我无法得到它,我的坏!现在它的工作很好。非常感谢! –