Unity3D的uniSWF插件动态加载SWF UI资源

本文介绍了如何使用Unity3D的uniSWF插件动态加载SWF用户界面资源,包括设置MovieClipOverlayCameraBehaviour、处理相机类型、动态载入SWF对象以及通过getChildByName获取子对象的方法。示例代码展示了如何添加点击事件。
摘要由CSDN通过智能技术生成

uniSWF能把Flash的素材像用AS3编程类似,只不过环境要在C#或者JS中编程。要是想创建一个类似Menu菜单或者像导航一样的菜单,在Unity中首先要选择摄像机,给摄像机添加MovieClipOverlayCameraBehaviour

Unity3DuniSWF插件动态加载SWF UI资源

因为之后 MovieClipOverlayCameraBehaviour.instance中才包含stage对象的实例,然后需要选择相机的类型:

Unity3DuniSWF插件动态加载SWF UI资源

不然程序就会报错了。

然后我们就可以在程序中编写了,这个程序需要拖放的对象当然也是相机对象,要切记!动态载入和直接给Flash材质有区别需要找的对象放在swf路径的后面:

  

1

    MovieClip minimap = new MovieClip("libufan/swf/UI2.swf:MCArea"); 

要想获得对象的子对象,可以采用getChildByName来获取:

  

1

    playerArea = minimap.getChildByName<MovieClip>("roundArea"); 

2

    btn.getChildByName<TextField>("txt") 

当然要是想添加点击事件的话就和AS3中一样了,可以直接添加MouseEvent。下面是所有的程序,以备时间长了回来看看:

  

01

    using UnityEngine; 

02

    using System.Collections; 

03

    using System.Collections.Generic; 

04

    using pumpkin.display; 

05

    using pumpkin.events; 

06

    using pumpkin.tweener; 

07

    using pumpkin.text; 

08

09

    public class Test1 : MonoBehaviour {  

10

        private Stage stage; 

11

        private MovieClip playerArea; 

12

        private MovieClip btnContainer; 

13

        private Dictionary<string,Handler> menus; 

14

15

        public float scaleRatio = 0.5f; 

16

        public float angle = 0f; 

17

        private delegate void Handler(); 

18

        void Start () {  

19

            if(!MovieClipOverlayCameraBehaviour.instance)return; 

20

            stage = MovieClipOverlayCameraBehaviour.instance.stage; 

21

            MovieClip minimap = new MovieClip("libufan/swf/UI2.swf:MCArea"); 

22

            playerArea = minimap.getChildByName<MovieClip>("roundArea"); 

23

            minimap.scaleX = minimap.scaleY = scaleRatio; 

24

            minimap.x = stage.stageWidth-minimap.width/2*scaleRatio-20f; 

25

            minimap.y = minimap.height<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小姑娘很大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值