Coder Social home page Coder Social logo

tinspector's Introduction

#介绍 视频介绍(优酷)

img

tInspector是Flash运行时的界面调试工具,你可以在swf运行后查看显示列表的结构,查看修改显示对象的属性。tInspector也内置了变形2D、3D工具,可以对显示对象进行移动、旋转、扭曲。
tInspector以插件机制来管理自身的功能,每个功能其实是tInspector的一个插件,目前提供以下功能(插件):

  • 移动鼠标查看显示对象(LiveInspectView)
  • 查看显示对象属性(PropertiesView)
  • 显示列表结构树(StructureView)
  • 功能控制条(ControlBar)
  • 全屏(FullScreen)
  • 概要分析(AppStats,使用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("插件关闭了");
    }
}
}

#自定义输出信息

核心功能LiveInspectViewStructureView都提供了信息输出器(DisplayObjectInfoOutputer),由各自的(InspectorOutPuterManager)管理,如图:

显示对象信息输出

如果想改变这些插件在查看对象时输出的信息,请先自定义一个信息输出器,例如:

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

tinspector's People

Contributors

tamt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.