抽象类IObjectExtend
该类被所有基本控件继承包含主要作用是修改控件坐标原点为中心
//基本方法说明
/*该方法替代原来的addChild和addWindow,去除了Window_Layer
* 可以将所有子物体改为视父物体的中心为原点
*/
addObject(hjdd.xxx)
/*该方法替代原来的move
* 作用和原因同上
*/
moveSelf(x,y)
/*移到一个子物体
*/
moveChild(child,x,y)
/*该方法把子物体坐标系上的(lx,ly)转化为父物体坐标系上的点
*/
mapToParent(lx,ly)
/*该方法把物体坐标系上的(lx,ly)转化为子物体(child)坐标系上的点
*/
mapToChild(child,lx,ly)
mapFromParent(lx,ly)
/*有anchor的(PIXI.Sprite)返回false,
* 没有的返回true,可以保证所有变换都以物体中心为原点
*/
needToSelfCoord();
/*捕捉物体上(x,y)能点中的最深层子物体
*/
pickup(x,y)
/*下面鼠标或触屏事件
* 如果要使用这个事件需要Scene._mouse_message_used=true以及物体自己的this.forbidMessage=false;
*virtual
*/
mousePressedEvent(x,y)
mouseMoveEvent(x,y)
mouseReleasedEvent(x,y)
/*每个控件都有但不在这个类中
*每个控件实现方式都不一样,调整过后仍然以中心为原点
*/
setSize(w,h)
WindowBase
继承: Window_Base
改造了初始化方式以及_refreshContents刷新方式,使得它可以随时调整大小和移到位置
/*以对象方式调用WindowBase的绘图方式*/
appendElements(...)
/*将通过上述方法添加的元素绘到自己的context上(显示)*/
refreshElement()
///使用样例
/*
this.object=new hjdd.WindowBase();
this.addObject(this.object);//添加到Scene中
this.object.moveSelf(100,100)
this.object.rotation=0.15;
this.object.setSize(300,300);
this.object.appendElements(new hjdd.TextElement(0,0,"text\\V[1]\\I[\\V[2]]\n..."),
new hjdd.ImageElement(0,0,360,360,0,0,360,360,'img/pictures/','saber'));
this.object.refreshElement();//显示上面添加的element
*/
Sprite
继承: PIXI.Sprite
保留了直接调整width和height呈现的缩放功能,实现了一种延迟调整方式应对使用ImageManager加载新图片需要提前预存的问题,使得它可以不会因为调用ImageManager.loadBitmap()没加载好而使得调用的其他调整函数(如moveSelf,setFrame等)被弃置或错误响应
/*选择原图的某个区域来显示,
*它会等到bitmap加载完再调用
*如果bitmap已经完成,那么以后都会是立即调用
*/
setFrame(x,y,width,height);
///使用样例
/*
this.object=new hjdd.Sprite();
this.addObject(this.object);//添加到Scene中
this.object.moveSelf(100,100)
this.object.rotation=0.15;
this.object.setSize(300,300);
this.object.bitmap=ImageManager.loadBitmap('img/pictures/','saber',null,false);
this.object.setFrame(0,0,360,360);//注意,如果不调用这个默认会以原图(0,0,0,0)显示,就是什么都不
//显示
*/
Text
继承: PIXI.Sprite
独立的文字,这个控件只解析C、V、I、{、}
/*预先设置文字,该函数会先解析文字以如下形式存起来
* {
* {
* _data:null,
* _type:'text','variable','icon','fontsize','color'
* _count:0
* }
* 几个值含意说明格式_type;_data;_count
* _'text';一段文字;_count无效
* 'variavle';为最深层数值;表示解析几次可以得到直接解析结果
* (如\\V[\\V[\\V[123]]],_data=123,_count=2,需要解析为\\V[直接解析结果],因为Text绘制的时候
* 还会解析最后一次)
* 'icon';最深层数值;表示解析几次可以得到直接解析结果
* 'color';最深层数值;表示解析几次可以得到直接解析结果
* 'fontsize';-12或12;无效
*/
setText(text)
/*显示上面设置的字符串*/
displayLinesText(x,y)
///使用样例
/*
this.object=new hjdd.Text();
this.addObject(this.object);//添加到Scene中
this.object.moveSelf(100,100)
this.object.rotation=0.15;
this.object.setSize(300,300);//这个可以将该控件自身坐标系原点定在(150,150)虽然没什么用
this.object.setText("hell\\V[\\V[123]]o\\C[\\V[\\V[123]]] w\\{olr\\}d!!!");
this.object.displayLinesText();
*/
其它正在完善….