我使用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);
}
答案 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);
如果有任何问题,请告诉我,我会为您提供一个工作示例。不幸的是,我现在没有时间。
另外一般来说,最好在plunkr,jsfiddle或类似的东西中制作这样的简单示例。然后,回答您的人可以轻松修改您的代码,并向您展示一个确实有效的示例。对两者都会更好。