我们公司现在用的是as3转haxe然后最终转成C++的方案;

Flash没落:
自智能手机普及以来,Flash Player插件的浏览器支持一直在下降,随着HTML5 技术的出现,让网站可以在没有插件的情况下运行包括视频、小游戏在内的视觉元素。许多网站也纷纷转向 HTML 5。
1.
Haex:

              相比其他语言(Java的平台是 JVM,C#的平台是.Net,ActionScript的平台是Flash Player等等),Haxe才是真正的多平台语言。不管是开发原生iOS、Android应用,还是网页;不论是应用于服务器还是个人桌面,Haxe都 可以胜任。同时Haex程序可以编译成为.swf(flash)、js(javascript)、.php(PHP)、C++的code,NME库使用这个特性再IOS和Android上直接运行,同时也能生成对应的java.C# code。所以我们平台目前先把ActionScript3.0转换为Haex再装换为C++,从而完成对AS到C++的迁移。2.AS3.0 与HAEX:

AS3.0:
String
Number
int
Boolean
String
Object
void

HAXE用途Float和Int作为核心类型,这是类似Number与int在ActionScript。Haxe用于Dynamic描述通配符类型,类似于ActionScript *类型,并且接近ActionScript Object类型。
HAXE:
String
Float
Int
Bool
Dynamic
Void

3.AS与Haex命名空间不一样:;*

AS支持public、protected、private与自定义internal
*
Haex只支持public和private(private行为类似于AS的protection)
*
Haxe将这些控制简化为两级访问。public行为与ActionScript public访问级别private类似,其行为与Actionscript protected访问级别类似。
*
可以使用@:access,@:allow或@:privateAccess元数据HAXE访问或允许类之间的私人通道,支持其他使用情况。

4.常量:
常量是具有固定值的属性,并且永远不会更改。ActionScript 3.0 const在声明常量属性时定义关键字,而Haxe则使用inline关键字。

Haxe与ActionScript3.0区别
1、基本类型:
ActionScript3:
Boolean
int
Number
Object
void
Array
Vector.
HAXE:
Bool
Int
Float
Dynamic
Void
Array
Array

2、包声明:
AS3:
package com.example.myappliction{}
HAXE:
package com.example.myappliction;

3、类定义:
AS3:
public class MyClass{
public function MyClass(){
}
}
HAXE:
class MyClass{
public function new(){}
}
4、循环:
AS3.0:
for(var i :uint =0;i<100;i++){}
for each (var value:String in items){}
for (var propertyName:String in Object){}
HAXE:
for (i in 0…100){}
for (value in items){}
var fields = Reflect.fields(object);
for(properrtyName in fields){}

5、switch语句:
AS3.0:
switch(value){
case 1:
trace(“Equal to 1”);
break;
default:;
trace(“Not equal to 1”);
break;
}

HAXE:
switch(value):
case 1:
trace(“Equal to 1”);
default:
trace(“Not equal to 1”);
}
6.类型转换:
ActionScript3:
var car:Car = vehicle as Car;
var toString:String = string(10);
var toNumber :Number = Number(“10”);
var toInteger:int = int(10.1);

Haxe:
var car:Car = cast vehicle;

var car = cast(vehicle,Car);
var toString = Std.string(10);
var toNumber = Std.parseFloat(“10”);
var toInteger = Std.int(10.1);

7.反射:
AS3:
var foo object[“foo”];
bar.apply(this,[“hi”];
Haxe:
var foo = Reflect.field(object,“foo”);
Reflect.callMethod(this, bar, [“hi”]);

8.常量:
ActionScript3:
private const gravity:Number = 9.8;
Haxe:
private inline static var gravity =9.8;

Haxe简介Haxe与ActionScript3.0区别相关推荐

  1. html5 canvas 版 hello world! 暨haXe简介

    没想到我的第一个移动项目会是 html5 项目. 前一阵给一海外客户开发了Flash 版的电子杂志,客户还需要 ipad 版的.我最开始提出这样一种解决方案:在现有Flash程序基础上,使用AIR 2 ...

  2. ActionScript3.0自定义Flex组件问题 重写组件的使用

    最近在做Flex的一些学习,需要对Flex组件重写,当然可以两种选择MXML和ActionScript3.0重写,当然MXML的可视化的操作为重写提供了方便,但是要是更改组件的默认属性和添加一些框架属 ...

  3. C语言 NULL 和 0 区别 - C语言零基础入门教程

    目录 一.关于 NULL 定义 二.NULL 和 0 区别 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.关于 NULL 定义 NU ...

  4. actionscript 3.0 怎么写android 程序,(ActionScript3.0笔记)第一个程序HelloWorld!

    (ActionScript3.0笔记)第一个程序HelloWorld! 创建我的第一个ActionScript3.0程序--HelloWord! 首先下载ActionScript3.0的集成开发环境, ...

  5. 0 0 0 ’\0’ 区别

    ASCII码值0 0 0,0 . '0' . "0" . '\0' 区别 ① '0' 代表 字符0 ,对应ASCII码值为 0x30 (也就是十进制 48) ② '\0' 代表 空 ...

  6. 《点睛:ActionScript3.0游戏互动编程》——第2章 融会贯通—大话图层样式与滤镜2.1 Photoshop图层样式初体验...

    本节书摘来自异步社区<点睛:ActionScript3.0游戏互动编程>一书中的第2章,第2.1节,作者:游志德 , 彭文波 更多章节内容可以访问云栖社区"异步社区"公 ...

  7. 等保(网络安全等级保护)2.0与定级备案之——等保2.0与等保1.0区别解读

    等保2.0与等保1.0区别解读 这4900+的字儿也太多了,哈哈,就先这样吧,听讲座去了 什么是等保? 等保,即网络安全等级保护标准. 2007年我国信息安全等级保护制度正式实施,通过十余年的时间的发 ...

  8. mysql5.7和mysql8.0区别

    mysql5.7和mysql8.0区别 mysql5.7之后的一个版本就是mysql8.0,之所以版本号跨度这么大是因为这5.7之后的版本区别确实很大,很多地方不一样了. mysql5.7字符编码的问 ...

  9. 基于ActionScript3.0的DoodleJump 游戏实现

    基于ActionScript3.0的DoodleJump 游戏实现 <附加>: 分工: 王钊:游戏整体设计       陈旻:算法细节实现 1.流程图: 2.UML图: 3.为了游戏性和稳 ...

最新文章

  1. 微软宣布 Win10 设备数突破8亿,距离10亿还远吗?
  2. 数据蒋堂 | 怎样生成有关联的测试数据
  3. Zabbix监控MongoDB
  4. Java troubleshooting guide
  5. java获取json中的某个值_接口测试之json中的key获取
  6. bash中 21 的解释
  7. Web框架之Django_05 模型层了解(单表查询、多表查询、聚合查询、分组查询)
  8. 盖茨发文谈如何实现零碳目标 称看好电动车未来
  9. zeppelin报错master is set as yarn, but spark.submit.deployMode is not specified
  10. 提交表单数据到数据库_普通表单不仅适用于数据库
  11. python按键退出循环_Python的for循环退出
  12. pygame之mouse模块
  13. 解决word各级标题序号后面有长空格
  14. edge浏览器被毒霸导航锁定如何解除
  15. Scikit-learn学习系列 | 1. sklearn的简要使用介绍与数据集获取
  16. 牵一发动全身【Nhibernate基本映射】
  17. 云计算通俗解释,什么叫云计算
  18. 什么是SAP HANA?
  19. /Users/xxxx/.zshrc:export:101: not valid in this context: /Users/xxxx/xxxx
  20. 【STM32单片机】推箱子游戏设计

热门文章

  1. SQL Server直接读取同花顺股票数据
  2. 爬虫怎么使用代理IP
  3. 语言模型指的什么意思?
  4. 前端js调用后端API获取数据的三种方法(2022.7.25)
  5. android类京东到家开发源码
  6. 四川传媒学院计算机应用技术分数,2017四川传媒大学分数线_四川传媒学院专业排名及分数线...
  7. 蚂蜂窝上线酒店预订 商业化进展步骤之一
  8. linux14.04设置DNS,Ubuntu 14.04 DNS 配置重启不失效
  9. 知识增强图语义理解技术
  10. 蓝牙Bluetooth BR/EDR 和 Bluetooth Smart 必需要知道的十个不同点