我正在尝试使用Adobe Animate上的AS3创建手写游戏。到目前为止,我已经创建了我的电路板,功能(绘图,擦除,保存,打印和彩色面板)。但我需要显示一个分数。要做到这一点,我想如果我可以计算绘图和位图图像之间的交叉的百分比(这是我现在的背景)。
有什么办法吗?或者你至少可以告诉我应该尝试哪种功能?非常感谢。
注意:这是我游戏中的2张图片。你可以很容易地理解我想要解释和做什么。
答案 0 :(得分:1)
只是一个建议,
假设您正在记录绘图数据,根据记录鼠标位置在阵列内的帧速率的一组点
我在我自己的例子中使用了8个点,结果如下:(8个中的6个= 75%通过)
我们需要搜索整个点数组并对其进行验证,因此百分比将很容易获得
每个点都包含x和y,以检查它是否放在黑色像素(位图跟踪)上我们只做
if (bitmapData.getPixel(point.x, point.y) == 0x0) // 0x0 is black
getPixel
返回一个整数,表示来自a的RGB像素值 特定点(x,y)处的BitmapData对象。 getPixel()方法 返回未经过相乘的像素值。没有返回alpha信息。
当绘制过程中捕获的点数更多时,这种做法会更准确,Trace-Bitmap也必须像这样(上图),而不是虚线(平滑,样式,......)线,>但是你可以在背景中使用这个跟踪位图(不可见),并且只向玩家提供带有彩色背景(如草和岩石纹理或任何图形改进)的虚线副本。
还可以定义最大搜索大小。这个最大值将用于忽略某些点,例如,如果max = 5且我们有10个点,则可以忽略0,2,4,6,8