代码之家  ›  专栏  ›  技术社区  ›  Aurel Bílý

图形-重叠错误还是什么?

  •  0
  • Aurel Bílý  · 技术社区  · 14 年前

    我这里有一个很大的代码。。。但幸运的是,根本不需要提及。归根结底是。。。失败?所以,最后应该画两个三角形(使用AS3图形)。一个也行,但当我放第二个的时候,它看起来很奇怪。我对它进行了跟踪调试,我认为缺陷在图形中-这是我对实际绘制点的输出:

    DRAW
    - POINT ( 50 , -50 )
    - POINT ( -50 , 50 )
    - POINT ( 50 , 50 )
    DRAW
    - POINT ( -50 , -50 )
    - POINT ( 50 , -50 )
    - POINT ( -50 , 50 )
    

    会。。。它没有。

    相反,我得到的是:

    alt text

    或者(这很奇怪),当我切换三角形的绘制顺序时: alt text

    ...

    你知道怎么回事吗?

    编辑:

    for (var vi:int = 0; vi < triangles.length; vi++){
        gfx.beginFill(0xFF0000, 0.5 + (0.5 * vi));
        trace("DRAW");
        trace("- POINT ( " + triangles[vi].points[0].x + " , " + triangles[vi].points[0].y + " )");
        trace("- POINT ( " + triangles[vi].points[1].x + " , " + triangles[vi].points[1].y + " )");
        trace("- POINT ( " + triangles[vi].points[2].x + " , " + triangles[vi].points[2].y + " )");
        gfx.lineTo(triangles[vi].points[0].x, triangles[vi].points[0].y);
        gfx.lineTo(triangles[vi].points[1].x, triangles[vi].points[1].y);
        gfx.lineTo(triangles[vi].points[2].x, triangles[vi].points[2].y);
        gfx.lineTo(triangles[vi].points[0].x, triangles[vi].points[0].y);
        gfx.endFill();
    }
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Claus Wahlers    14 年前

    第一个 gfx.lineTo 应该是一个 gfx.moveTo