2

I was trying to implement custom google search in my course-ware that developed in flash. I define a class named 'Main' (Main.as) and put my search code there. But the problem is, that Main class has a conflict with the other codes containing in my course-ware (i've combo box & other basic navigation in course-ware). i have no idea how to resolve it. is there any way to put that code in timeline layer? help please.. thanks. here is my Main class:

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);
        }
    }
}
4

1 回答 1

2

根据您在此处共享的内容和消息,我假设您正在尝试通过 flash IDE 添加代码,同时为您的应用程序创建一个名为 Main的文档类。

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

假设您希望在添加 Main 类的实例时保持时间线代码不变:

  • 将一个空影片剪辑添加到库中,例如 SearchClass。

  • 转到影片剪辑的属性并单击操作脚本的导出。

  • 将类设置为 Main。请确保 Main.as 相对于 fla 位于外部的位置。

  • 将此影片剪辑添加到舞台上的任何帧或图层上。

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


作为旁注,您还应该将 Main 类重命名为有意义的名称,例如 SearchClass。

如果您想知道设置类与基类,

我们仅在您希望扩展类的功能时使用基类(例如通过添加 UI 元素)。


您也可以直接从时间线代码中直接调用该类:

var main:Main = new Main();

addChild(main);

只要确保Main.as 文件位于fla 旁边... 即确保编译器可以使用该路径。

于 2012-12-27T03:35:22.587 回答