快速业务通道

创建Eclipse游戏插件,第1部分: 入门 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
; + e.getMessage());      }    } });

创建Eclipse游戏插件,第1部分: 入门(15)

时间:2011-02-10 IBM Trebor Fenstermaker

这会调用前面定义的 getTasks 方法,它会查询工作区,得到当前任务。但是,这个方法在检索完任务之后什么也不做。作为最后一步,必须把它们传递给 ViewContentProvider 并刷新 TableViewer。请把以下这些行添加到 getTasks 方法的底部:

((ViewContentProvider)ShootoutView.this.viewer.getContentProvider()).setTasks(imarkers);    ShootoutView.this.viewer.refresh(true);

第一行从 ShootoutView 中的 TableViewer 实例检索出 ViewContentProvider 类上的 setTasks 方法,然后传递给它 findMarkers 发现的结果,对它进行调用。

下一行重绘 TableViewer 部件,这样新的记录就会显示出来。true 参数让 TableViewer 重绘整个列表,而不仅仅是它认为是新的条目。getTasks 方法现在看起来应当像清单 9 这样。

清单 9. 完成的 getTasks 方法

private void getTasks() throws CoreException {    IWorkspace workspace = ResourcesPlugin.getWorkspace();    IWorkspaceRoot workspaceRoot = workspace.getRoot();    IMarker[] imarkers = workspaceRoot.findMarkers(IMarker.TASK, true,   IResource.DEPTH_INFINITE);    ((ViewContentProvider)ShootoutView.\    this.viewer.getContentProvider()).setTasks(imarkers);    ShootoutView.this.viewer.refresh(true); }

测试 Load Bugs 按钮

请选择 Run > Run... 并选择最后一次创建的 “Eclipse Shootout Plug-in Test” 配置。按下 Run 来测试到目前为止的工作。请选择 Window > Show View > Other > Open Other > Basic > Tasks 打开任务视图。输入一些任务,如图 19 所示。

图 19. 在运行时工作台中输入任务

接下来,切换到 Shootout 视图,按下 Load Bugs 按钮。应当看到与图 20 类似的东西。

图 20. 完成后的插件在按下 Load Bugs 之后的动作

恭喜!现在已经创建了一个正常工作的插件,而且为 “创建 Eclipse 游戏插件” 这个系列以后的教程打好了基础,在后来的教程中,将把这个虫子列表变成真正的敌人,用超级火力消灭它们。

结束语

插件框架是 Eclipse 的核心,它的设计目的是轻松地进行扩展以满足任何需求。向导可以容易地快速创建插件。插件可以执行许多功能,但是通常有视图显示在工作台上。在这份教程中(四部分系列的第 1 部分),为创建射击游戏插件打好了基础。用来设计最初的用户界面的 SWT 是一个轻量级图形库,允许程序员将图形元素添加到视图中,例如按钮和列表。列表通常由 JFace 的 TableViewer 处理。JFace 是一组比较复杂的部件,包装了 SWT 中一些较简单的部件;TableViewer 包装了简单的 Table 对象,提供了定义良好的接口,用来对表格使用的数据和标签进行建模。

工作台本身包含许多可供插件开发人员使用的资源,包括称作标记器的特性。任务视图中的任务(在游戏中被摧毁的虫子列表)实际上是标记器,能够通过 org.eclipse.core.resources 包中的类访问。任务视图运行和测试插件是通过运行时工作台特性实现的,而插件的打包可以通过导出特性完成。

在这个 “创建 Eclipse 游戏插件” 系列的第 2 部分中,将添加形状、颜色和移动,开始开发射击游戏。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号