lufy's legend

标题: LSprite,LBitmap,LGraphics中的几个bug [打印本页]

作者: GreatToad    时间: 2013-10-27 10:59
标题: LSprite,LBitmap,LGraphics中的几个bug
1.LSprite,改变LSprite对象的scaleX, scaleY 后,通过getWidth()与getHeight() 获取出来的宽高没有变化,例如:scaleX=1,通过getWidth()得到的是100,scaleX=2,本来应该是200,但结果还是100;
2.LBitmap,setCoordinate()的方法,当两个参数不同时为0时,比如说setCoordinate(1,1)时,原本可以显示的图像,不见了;
3.LGraphics, lineStyle()方法中有一句:if(color==null)co=s.color; 是否改成:if(co==null)co=s.color; 使用的时候报color undefined.
作者: lufy    时间: 2013-10-27 23:36
1和3确实是bug,2其实是使用上的问题,因为绘制范围超出了图片范伟,但严格来说也算是bug
非常感谢,下次更新会修正这些问题。
作者: GreatToad    时间: 2013-10-29 19:24
lufy 发表于 2013-10-27 23:36
1和3确实是bug,2其实是使用上的问题,因为绘制范围超出了图片范伟,但严格来说也算是bug
非常感谢,下次更 ...

我在第2个问题的方法中加了一句:

setCoordinate:function (x,y){
                var s = this;
                s.x = x;
                s.y = y;
                s.resize();
        }

图片就可以显示出来了。
...
var image=result["cat_1"];
var bitdata=new LBitmapData(image);
bitdata.setCoordinate(image.width*.5,image.height*.5);
...
显示结果是图片的右下角一块,整张图片的1/4.

不知是否少了这一句?导致第2个问题。

作者: lufy    时间: 2013-10-30 11:42
GreatToad 发表于 2013-10-29 19:24
我在第2个问题的方法中加了一句:

setCoordinate:function (x,y){

嗯,正解
resize这个函数是1.8.0后加入的,在绘图范围超出图片范围的时候可以自动调整绘图范围。
其实只要使用的时候注意一下,这个也是可以避免的。
我在setProperties加进去了,setCoordinate却忘了加了。。




欢迎光临 lufy's legend (http://lufylegend.com/forum/) Powered by Discuz! X2.5