Pixi.js你如何将moveTo与OOP对象一起使用?

时间:2016-07-06 20:15:38

标签: javascript oop pixi.js

我使用OOP方法创建一个矩形和一个方形对象。

接下来,我想将我的矩形移动到另一个位置。我使用函数moveTo。

我的矩形移动但是从它的创建位置移动而不是从绝对位置移动。

我必须指定将此矩形移动到x = 100,y = 100?

var container = new PIXI.Container();

var renderer = PIXI.autoDetectRenderer(320, 480,{backgroundColor : 0x1099bb});

document.body.appendChild(renderer.view);

requestAnimationFrame( animate );

var blue= 0x00c3ff
 
var red = 0xFF0040

var SHAPE={}

SHAPE.geom = function(posx,posy,width,height,color) {
	PIXI.Graphics.call(this,posx,posy,width,height,color);
	this.beginFill(color);
	this.drawRect(posx,posy,width,height)
}


SHAPE.geom.prototype = Object.create(PIXI.Graphics.prototype);
SHAPE.geom.prototype.constructor = SHAPE.geom;

var square=new SHAPE.geom(10,10,10,10,red)

var rect=new SHAPE.geom(200,400,80,30,blue)

rect.moveTo(100,100)

	container.addChild(square,rect);


	function animate() {

		requestAnimationFrame( animate );
		renderer.render(container);
	}

1 个答案:

答案 0 :(得分:1)

检查PIXI文档中的moveTo:https://pixijs.github.io/docs/PIXI.Graphics.html#moveTo

它将DRAWING位置移动到某个坐标,而不是实际已存在的对象。因此,如果您使用moveTo并在使用图形对象绘制之后,它应该从该位置开始绘制。至少在理论上(我还没有使用过move)。

您应该使用对象.x,.y或.position属性来设置您希望显示对象驻留在父容器中的位置。所以类似于: rect.x = 100; rect.y = 100; 要么 rect.position = new PIXI.Point(100,100);

如果有任何问题,请告诉我,我会为您提供一个工作示例。不幸的是,我现在没有时间。

另外一般来说,最好在plunkrjsfiddle或类似的东西中制作这样的简单示例。然后,回答您的人可以轻松修改您的代码,并向您展示一个确实有效的示例。对两者都会更好。