- 用户指南
- 资源商店 (Asset Store)
- 资源服务器 (Asset Server)(仅限团队许可证)
- 缓存服务器(仅限团队许可证)
- 幕后场景
- 创建游戏
- 运行时实例化预设 (Prefabs)
- 变换 (Transforms)
- 物理
- 添加随机的游戏元素
- 粒子系统(Particle Systems)
- Mecanim 动画系统
- 旧动画系统
- 导航网格 (Navmesh) 和寻路 (Pathfinding)(仅限专业版 (Pro))
- Sound (音频侦听器)
- 游戏界面元素
- 多玩家联网游戏
- iOS 开发入门
- Android 开发入门
- Blackberry 10 开发入门
- Metro:入门指南
- 本地客户端开发入门
- FAQ
- Advanced
- Vector Cookbook
- 资源包(仅限专业版)
- Graphics Features
- 资源数据库 (AssetDatabase)
- 构建播放器管道
- 分析器(仅限专业版)
- 光照贴图快速入门
- 遮挡剔除(仅限专业版)
- 相机使用技巧
- 运行时加载资源
- 通过脚本修改源资源
- 用程序生成网格几何体
- 富文本
- 在 Unity 工程 (Project) 中使用 Mono DLL
- 事件函数的执行顺序
- 移动优化实用指南
- Unity XCode 工程结构
- 优化图形性能
- 减少文件大小
- 理解自动内存管理
- 平台依赖编译
- 泛型函数
- 调试
- 插件(专业版/移动版特有功能)
- 文本场景文件格式(仅限专业版)
- 流媒体资源
- 启动时运行编辑器脚本代码
- 网络模拟
- VisualStudio C 集成
- 分析
- 检查更新
- 安装多版本 Unity
- 故障排除
- Unity 中的阴影
- Unity 中的 IME
- 对集成显卡进行优化
- 网络播放器 (Web Player) 部署
- 使用网络播放器中的信任链系统
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
示例: 将 Flash 中的数据提交给 Unity
如需将 Flash 中的数据提交给 Unity,则该数据必须为支持的数据类型。也可创建类来表示数据(通过提供 匹配的 C# 或 JavaScript 实现)。
首先,创建对象的 AS3 实现,并在工程(在名为 ActionScript 的文件夹中)中加入此类:
ActionScript 3
package { public class ExampleObject { public var anInt : int; public var someString : String; public var aBool : Boolean; } }
现在创建一个与 AS3 实现匹配的 C# 或 JavaScript 对象。
以下使用的 NotRenamed 属性防止对构造函数、类函数、字段和属性进行名称重整。.
NotConverted 属性指示构建管线不要将类型或成员转换为目标平台。通常,构建 Flash 时,每个 C#/JavaScript 脚本都将转换为 ActionScript (.as
) 脚本。添加 [NotConverted] 属性可重写此过程,进而允许您手动提交自有的 .as 脚本版本。您提供 的虚拟 C#/JavaScript 将允许 Unity 了解类的签名(如允许其调用的函数),并且 .as 脚本将提交这些函数的实现。注意,ActionScript 版本只可用于构建 Flash。在编辑器中或构建其他平台时,Unity 将使用 C#/JavaScript 版本。
NotFlashValidated 属性以显性方式告知 Flash 验证控件忽略该类型或成员,以此方式实现目标。
C#
[NotConverted] [NotRenamed] public class ExampleObject { [NotRenamed] public int anInt; [NotRenamed] public string someString; [NotRenamed] public bool aBool; }
JavaScript
@NotConverted @NotRenamed class ExampleObject { @NotRenamed public var anInt : int; @NotRenamed public var someString : String; @NotRenamed public var aBool : boolean; }
现在,您需要使用 AS3 中的一种方式查找对象,例如:
ActionScript 3
public static function getExampleObject() : ExampleObject { return new ExampleObject(); }
然后,可以检索该对象并访问其中的数据:
ExampleObject exampleObj = UnityEngine.Flash.ActionScript.Expression<ExampleObject>("MyStaticASClass.getExampleObject()"); Debug.Log(exampleObj.someString);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论