我试图在用 Flash 开发的课件中实现自定义谷歌搜索。我定义了一个名为“Main”(Main.as) 的类,并将我的搜索代码放在那里。但问题是,该主类与我的课件中包含的其他代码有冲突(我的课件中有组合框和其他基本导航)。我不知道如何解决它。有什么方法可以将该代码放在时间轴层中吗?请帮忙..谢谢。这是我的主要类(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);
}
}
}
最佳答案
来自您分享的内容和消息here ,我假设您正在尝试通过 Flash IDE 添加代码,同时为您的应用程序创建一个名为 Main 的文档类。
有很多方法可以解决这个问题。
假设您希望在添加 Main 类的实例时保持时间线代码不变:
向库中添加一个空影片剪辑,例如 SearchClass。
转到影片剪辑的属性并单击“导出 ActionScript ”。
将类设置为 Main。请确保 Main.as 相对于 fla 位于外部的位置。
将此影片剪辑添加到舞台上的任何帧或图层上。
请记住清除文档类字段。
附带说明一下,您还应该将 Main 类重命名为有意义的名称,例如 SearchClass。
如果您想了解如何设置类与基类,
仅当您希望扩展类的功能(例如通过添加 UI 元素)时,我们才使用基类。
您还可以直接从时间线代码中调用该类,如下所示:
var main:Main = new Main();
addChild(main);
只需确保 Main.as 文件位于 Fla 旁边...即确保该路径可供编译器使用。
关于actionscript-3 - 如何为 ActionScript 3.0 实现自定义 google 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045088/