我想使用我自己绘制的数字代表一个数字,但不知道如何实现它。如何显示具有这些数字的整数的等价物?如果有必要将它们放在一个平铺模式中,考虑到旧游戏的工作原理对我有意义,那么我会使用哪些代码在每个游戏之间切换?或者还有另一种更好的方法吗?此外,我需要数字能够调整到数字中的位数并从左到右读取(因此10中的1与1合1在同一位置)。谢谢你的帮助。
答案 0 :(得分:0)
通过switch / case语句运行这些数字非常简单。并不是那么有效,请注意,但它确实有用......
private function getCustomInt(targetInt:int):DisplayObject
{
var graphic:DisplayObject;
switch(targetInt)
{
case 0:
graphic = new Zero(); //link to your embedded sprite/ mc /whatever
break;
case 1:
graphic = new One();
break;
//etc etc
}
return graphic;
}
如果这些是精灵表的一部分,您可以在父PDF中设置子图形的位置,该父图形已正确设置了scrollRect。无论如何。一堆方法来做到这一点 - 那就是一个 - - -
答案 1 :(得分:0)
您可以轻松使用sprite sheet。只需将数字从0到9对齐,并保留一个数组,其中包含精灵(a[0] = 0, a[1] = 200, a[2] = 350
)上每个数字的位置,然后您就可以检索精灵上数字的位置和宽度,就像这样:
//for 1
xPosition = a[1];
width = a[2]-a[1];
您可以使用这两个来绘制一个蒙版并隐藏精灵的其余部分,以便只显示所需的数字。你这种方式只能获得一位数。然而,将所有这些放在一个类中,并在您需要的位数上循环。这就是你如何找出一个数字有多少位数:
var value:Number
var digitsNumber:Number =Math.ceil(Math.log(value)/Math.LN10) + 1;
值,这是你的'号码',例如。 234,23132 4334等