[LayaAirIDE 1.0]WebGLContext2D arcTo方法如果设置了setPathId 无法绘制
WebGLContext2D arcTo方法如果设置了setPathId 无法绘制。
源码
override public function arcTo(x1:Number, y1:Number, x2:Number, y2:Number, r:Number):void {
if (mId != -1) {
var tShape:IShape = VectorGraphManager.getInstance().shapeDic[this.mId];
if (mHaveKey ) {
return;
}
}
.......
}感觉这个判断有问题,因为setPathId 之后 mHaveKey就设置为true了, 这样arcTo 后面的代码都不会运行了。绘制就没有了
而同样的arc方法的判断是这样的
public function arc(cx:Number, cy:Number, r:Number, startAngle:Number, endAngle:Number, counterclockwise:Boolean = false, b:Boolean = true):void {
if (mId != -1) {
var tShape:IShape = VectorGraphManager.getInstance().shapeDic[this.mId];
if (tShape) {
if (mHaveKey && !tShape.needUpdate(_curMat))
return;
}
}
.........
}
把arcTo的判断改成和arc的一样 那绘制就没有问题了。我想知道源码为什么arcTo的判断是这样的, 导致绘制不出来
源码
override public function arcTo(x1:Number, y1:Number, x2:Number, y2:Number, r:Number):void {
if (mId != -1) {
var tShape:IShape = VectorGraphManager.getInstance().shapeDic[this.mId];
if (mHaveKey ) {
return;
}
}
.......
}感觉这个判断有问题,因为setPathId 之后 mHaveKey就设置为true了, 这样arcTo 后面的代码都不会运行了。绘制就没有了
而同样的arc方法的判断是这样的
public function arc(cx:Number, cy:Number, r:Number, startAngle:Number, endAngle:Number, counterclockwise:Boolean = false, b:Boolean = true):void {
if (mId != -1) {
var tShape:IShape = VectorGraphManager.getInstance().shapeDic[this.mId];
if (tShape) {
if (mHaveKey && !tShape.needUpdate(_curMat))
return;
}
}
.........
}
把arcTo的判断改成和arc的一样 那绘制就没有问题了。我想知道源码为什么arcTo的判断是这样的, 导致绘制不出来
没有找到相关结果
已邀请:
要回复问题请先登录
0 个回复