将 Java 移植到 AS3

Posted

技术标签:

【中文标题】将 Java 移植到 AS3【英文标题】:Porting Java to AS3 【发布时间】:2011-10-21 04:40:39 【问题描述】:

我正在将 Java 类移植到 AS3。该课程的大部分内容都涉及位级编程。我遇到过这段用 Java 编写的代码:

int pixels[] = new int[width * height];
short gpixels[] = new short [width * height];

在我遇到这样的代码中进一步:

gpixels[i]

这两个变量在 AS3 中的等价物是什么。它们是字节数组还是整数?我认为“short”是一个 16 位整数,而“int”是一个 32 位整数。

【问题讨论】:

【参考方案1】:

ActionScript 没有 short、long、float、double 等...

您可以将数值类型映射到 int、uint 或 Number。

Java 类型 AS3 类型 ----- -------------- java.lang.Integer 整数 java.lang.Short int java.lang.Long 数字 java.lang.Double Number java.lang.浮点数 AS3 整数限制:-2147483647 到 2147483647 AS3 uint 限制:0 到 4294967295 AS3 数量限制:-1.79769313486231e+308 到 1.79769313486231e+308

AS3 Number 是 IEEE-754 双精度浮点数

AS3 有字节和位操作。

【讨论】:

太好了,我不知道。尽管它使事情变得更简单,但它确实使优化内存变得有些困难。感谢您提供信息。 如果这些是 AS3 中的整数,那么第二个代码块中提到的类似数组的引用是什么? @wvxvw 如果我不熟悉在字节数组上使用读/写短方法,最好在这里使用 Vector 吗? var gpixels:Array;或输入为向量: var gpixels:Vector. = new Vector.(); gpixels[i]; 刚刚找到这个可爱的小资源。请务必向下滚动并查看表格:livedocs.adobe.com/blazeds/1/blazeds_devguide/…【参考方案2】:

当您说明数据类型的大小时,您是正确的,short 是 16 位,int 是 32 位。我发现我最常看到在有人试图在数组中节省内存时使用 short - 毕竟,shorts 是整数大小的一半。

根据实际数组的大小,以及您如何处理存储在该位置的值(颜色代码等),您可能希望坚持使用尽可能小的数据类型。

640 x 480 整数数组至少需要 1,228,800 字节,没有开销,而 640 x 480 短数组只需要 614,400 字节。

如有疑问,请使用尽可能少的内存,尤其是在图形环境中,通过缓冲区快速消耗大量内存。

【讨论】:

以上是关于将 Java 移植到 AS3的主要内容,如果未能解决你的问题,请参考以下文章

使用 JSweet 将 Java 模块移植到 JS

将带有 rbf 内核的 sklearn SVC 移植到 java

如何将 Java RSA 公钥移植到 c# 加密功能?

将Java`Character.isJavaIdentifierStart`移植到javascript / typescript中

将Pentaho移植到Eclipse_ee里运行

Java 程序员关于将存储在 .txt 文件中的现有数据库移植到 mySQL 的问题很少?