Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tamt/tInspector
Flash运行时界面调试工具
https://github.com/tamt/tInspector
Last synced: 3 months ago
JSON representation
Flash运行时界面调试工具
- Host: GitHub
- URL: https://github.com/tamt/tInspector
- Owner: tamt
- Created: 2010-02-13T02:47:21.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2014-05-14T10:11:56.000Z (over 10 years ago)
- Last Synced: 2024-07-30T02:24:39.998Z (3 months ago)
- Language: ActionScript
- Homepage: www.itamt.com
- Size: 31.9 MB
- Stars: 16
- Watchers: 7
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-actionscript-sorted - tInspector - Flash运行时界面调试工具 (Unsorted / Other API)
README
#介绍
[视频介绍(优酷)](http://v.youku.com/v_show/id_XMTg0NTc0MTc2.html)![img](doc/intro.jpg)
tInspector是Flash运行时的界面调试工具,你可以在swf运行后查看显示列表的结构,查看修改显示对象的属性。tInspector也内置了变形2D、3D工具,可以对显示对象进行移动、旋转、扭曲。
tInspector以插件机制来管理自身的功能,每个功能其实是tInspector的一个插件,目前提供以下功能(插件):- 移动鼠标查看显示对象(LiveInspectView)
- 查看显示对象属性(PropertiesView)
- 显示列表结构树(StructureView)
- 功能控制条(ControlBar)
- 全屏(FullScreen)
- 概要分析(AppStats,使用[Hi-ReS-Stats](https://github.com/mrdoob/Hi-ReS-Stats))#安装
把swc下的tinspector.swc复制到as3项目的swc库路径下。
#使用
快速使用,直接调用`Inspector.init`方法即可,这样会启动核心插件:鼠标查看(LiveInspectView)、显示列表结构树(StructureView)、属性面板(PropertiesView)和控制条(ControlBar)。
示例:import cn.itamt.utils.Inspector;
import flash.display.Sprite;public class tInspectorDemo extends Sprite {
public function tInspectorDemo() {
//启动tInspector
Inspector.init(this);
}
}
如果想指定启用tInspector的插件,那么可以这样:Inspector.init(this, false);
然后通过`Inspector.registerPlugin`注册要使用的插件,例如://鼠标查看
Inspector.registerPlugin(new LiveInspectView());
//属性面板
Inspector.registerPlugin(new PropertiesView());
//显示列表结构树
Inspector.registerPlugin(new StructureView());#插件
你可以编写tInspector的插件来扩展它的功能,插件都必须`implements IInspectorPlugin`,或者,更简单地直接`extends BaseInspectorPlugin`,示例:package {
import cn.itamt.utils.inspector.core.BaseInspectorPlugin;public class MyInspectorPlugin extends BaseInspectorPlugin {
override public function getPluginId():String {
return "MyInspectorPlugin";
}override public function getPluginName(lang:String):String {
return "MyInspectorPlugin";
}override public function onActive():void {
trace("插件启动了");
}override public function onUnActive():void {
trace("插件关闭了");
}
}
}#自定义输出信息
核心功能`LiveInspectView`、`StructureView`都提供了信息输出器(`DisplayObjectInfoOutputer`),由各自的(`InspectorOutPuterManager`)管理,如图:
![显示对象信息输出](doc/outputerManager.jpg)
如果想改变这些插件在查看对象时输出的信息,请先自定义一个信息输出器,例如:
public class CustomOutPuter extends DisplayObjectInfoOutPuter {
public function DisplayObjectInfoOutPuter() {
super();
}public function output(source : DisplayObject) : String {
if(source == null)
return null;
return 'name:' + source.name;
}
}然后通过`InspectorOutPuterManager.setDefaultOutputer`设置,例如:
var plugin:LiveInspectView = Inspector.getPlugin('mouse');
var output:CustomOutputer = new CustomOutputer();
//对所有对象默认使用CustomOutputer输出信息
plugin.outputerManager.setDefaultOutputer(output);或者,通过`InspectorOutPuterManager.setDefaultOutputer`指定为某种对象的输出器,例如:
var plugin:StructureView = Inspector.getPlugin('structure');
var output:CustomOutputer = new CustomOutputer();
//对Label使用CustomOutputer输出信息
plugin.outputerManager.setClassOutputer(Label);除此之外,通过`StructureElementView.outputerManager`可以指定结构树面板列表项的输出器,例如:
//Button对象使用CustomOutputer输出信息
StructureElementView.outputerManager.setClassOutputer(Button, new CustomOutputer);//Label对象使用StructureTreeItemInfoOutputer输出信息
StructureElementView.outputerManager.setClassOutputer(Label, new StructureTreeItemInfoOutputer);