r01an 发表于 2021-8-15 15:10:56

IViewport嵌套导致ISprite.isSelected()坐标判断错误

如题 以下代码/**
* 调试用
*/
function SceneTest() {
    var viewport1 = new IViewport(100,100,1000,400);
    viewport1.z = 100;
    var bitmap1 = new IBitmap.CBitmap(1000, 400);
    var sprite1 = new ISprite(bitmap1, viewport1);
    sprite1.drawRect(sprite1.GetRect(), IColor.White());

    var viewport2 = new IViewport(0,0,100,100,viewport1);
    viewport2.z = 101;
    var bitmap2 = new IBitmap.CBitmap(100, 100);
    var sprite2 = new ISprite(bitmap2, viewport2);
    sprite2.drawRect(sprite2.GetRect(), IColor.Red());

    this.update = function() {
      if(sprite2.isSelected()) {
            log("ok");
      }
    };
};

当鼠标放在红色区域时 isSelected() 不触发
当鼠标左上移动至画面坐标(0,0)-(100,100)范围时, isSelected() 触发

小八馍馍 发表于 2021-8-16 00:37:19

{:5_104:}这个还得小雨来修
页: [1]
查看完整版本: IViewport嵌套导致ISprite.isSelected()坐标判断错误