egretegret.sprite和egret.shape的区别

egret  时间:2021-07-19  阅读:()

白鹭引擎发布的 Egret Wing(可视化GUI编辑器)好用么

Egret Wing能够放手让策划与美术把控一切,让艺术更加艺术。

Egret Wing开发团队针对界面交互体验反复优化,力争让用户交互变得更加简单、人性化。

Egret 适合做这样的游戏吗

cocos2d-js 没了解过, egret了解点, phaser createjs使用过。

就egret phaser creatjs来说如果做游戏我更觉得egret强悍些。

egret怎么添加puremvc

说学就学,可是第一步就让我感觉很费事~~(哎~菜鸟当久了)。

要开始学,得先下个PureMVC框架装上吧。

找了半天PureMVC框架,下载下来后,发现是一个压缩包,大小只有几百K(心存怀疑,怎么这么小呀)。

解压之后,根据惯性开始寻找一个类似Setup的东东。

狂汗,就是找不到这个东西。

这下我认定刚才下错东西了。

于是,在网上又是一阵狂搜,结果证明自己没下错。

-_-!!!   第二步,开始安装PureMVC。

没有setup,怎么装呢?是不是添加引用就可以了呢?可是又该怎么添加呢?(我用得是FlashDevelop这个编辑AS的软件)网上又是一阵狂搜,可搜到的都是谈论PureMVC的架构怎么样或者pureMVC具体应用怎么写,就是没有介绍刚开始该怎么配置的。

“最危险的地方就是最安全的地方”,结果在PureMVC的下载页内找到了“Installation ”字样。

其中的大概做法,就是解压,然后将“PureMVC_AS3_2_0_4.swc ”添加到项目的库中。

因为,我用的是FlashDevelop,所以添加方法如下:选中项目的lib文件夹-》右键添加存在的文件-》选择PureMVC_AS3_2_0_4.swc-》右键单击添加进来的这个文件-》选择添加到库中(Add To Library)。

这样便可以算前期工作全部结束了。

  第三步,查找关于PureMVC的介绍,补一下理论知识。

这些东西,网上超多,我就不介绍了。

  简单的说,PureMVC源于MVC模式,主要就是Model、View、Controller这三层次。

但在PureMVC中上述三个都被封装成了三个核心层,并通过单例模式提供给应用程序。

开发人员不需要直接使用这三个核心层。

PureMVC为了简化开发复杂度,提供了一个Facade类,该类提供了与核心层通信的唯一接口,可以初始化上述三个核心层,并可以访问它们的public方法,同时该类也是以单例模式提供给应用程序。

开发人员只需要继承一个Facade类并创建具体的Facade类就可以实现整个MVC模式。

除了知道Facade类之外,还需要了解与三个核心层相辅助的三个类:Proxy、Mediator、Command。

  Proxy,可以理解为代理,负责操作数据的存取。

  Mediator,可以理解为媒介,负责UI层与控制层之间的沟通。

  Command,则是用来操作具体的业务逻辑。

  为了对这三个核心层尽量的解耦,PureMVC中采用了消息机制,层与层之间的通信通过发送消息(notification)来实现。

消息发送者只需要实现发送,不需要知道谁会接收这些消息。

消息接收者如果需要接收消息,只需要注册一下对应的消息就可以了。

如:registerCommand(START_UP, StartUpCommand);这句话产意思就是注册了一个对应关系,其中START_UP是消息的名称,StartUpCommand则是一个Command,这样当有人发送了START_UP名称的消息后,就会由StartUpCommand进行处理。

  第四步,动手写自己的Demo(在我的这个Demo中,实现功能很简单:记录每次鼠标单击时在X方向上的偏移量)。

  1)创建一个新的项目,就叫做 "MyFirstPureMvc” 吧。

新创建的项目,应该可以看到bin、lib、src这三个文件夹,在src下有一个main.as文件,bin下有一些用于呈现网页的文件(项目中基本不需要用到)。

  2)在lib文件夹中添加PureMVC_AS3_2_0_4.swc,并添加到库中。

  3)在src文件夹中添加三个子文件夹:Model、View、Controller。

Model文件中放置MouseClickProxy.as文件。

View中放置StageMediator.as文件。

Controller中放置StartUpCommand.as和MouseClickCommand.as这两个文件。

具体内容,请看下面。

  4)在src文件夹中接着添加ApplicationFacade.as文件,名称可以不一样。

这个主要是用来继承Facade类的。

如果你了解了基本的PureMVC框架结构之后,应该明白Facade这个类的重要性。

  package   {   .puremvc.as3.patterns.facade.Facade;   import controller.*   /**   * Facade模式来实现统一的接口,对外只提供了startup方法用于启动   * 在该类被创建的时候会自动调用initializeController方法,需要在该方法中对Command进行注册   * 接着,调用startup方法启动(也就是发送一个消息,因为之前已经注册了Command,所以相应的方法会去执行execute进行响应)。

  * @author   */   public class ApplicationFacade extends Facade   {   public static const START_UP:String = "START_UP";   public static const MOUSE_CLICK:String = "MOUSE_CLICK";   public static function getInstance(): ApplicationFacade {   if (instance == null) {   instance = new ApplicationFacade();   }   return instance as ApplicationFacade;   }   public function startup(app:Object):void   {   sendNotification(START_UP, app);   }   override protected function initializeController():void {   super.initializeController();   registerCommand(START_UP, StartUpCommand);   registerCommand(MOUSE_CLICK, MouseClickCommand);   }   }   }   上述语句中的initializeController方法中首先初始化了Controller控制器,并建立了Command与消息之间的映射关系。

然后调用startup启动整个程序。

在sendNotification中,发送了一个名为START_UP的消息。

并传递了一个app对象。

  根据注册的关系,StartUpCommand类会接收到这个消息。

  在这个类中,主要实现了父类的execute方法。

在该方法中注册了一个代理和媒介。

这两个东东,在随后的程序运行中需要使用,所以要进行一下注册。

注册了之后,接下去如果要使用则直接可以从facade中获取。

  接着来看下StageMediator.as,这个东东关系到我们的View视图,与我们可以看得到的UI密切相关。

我们在UI上触发的一些事件会由这个StageMediator类接收(并进行简单的封装)后发送给控制层去处理。

  在mouseClick事件中,又发送了一个通知,通知的消息为MOUSE_CLICK。

另一个是鼠标的单击时的X方向上偏移量。

看一下ApplicationFacade类中注册的信息,可以找到与消息对应的类是MouseClickCommand。

  在这个类中,就输出了X方向上偏移量。

  接下来,你只需要ctrl+enter测试就可以了。

  是不是很奇怪,从头到尾都没有用过Model层,是的,这可能是我这个DEMO的缺陷,因为我这个Demo中不需要查询数据库或其它数据存储区来获取或写入数据,因此并没有使用到。

  上面的整个过程,只起到一个简单的演示作用。

如果大家需要深入学习,建议大家参考网上达人们的文章。

egret.sprite和egret.shape的区别

俩个都有绘制功能,shape是显示对象,一般用于绘制图形;sprite是容器,在此基础上还可以添加子容器和显示对象,一般用于创建可承载内容的游戏层或者游戏对象。

刚开始学,个人浅见,不对的地方大家指出来,共同进步

美国Cera 2核4G 20元/45天 香港CN2 E5 20M物理机服务器 150元 日本CN2 E5 20M物理机服务器 150元 提速啦

提速啦 成立于2012年,作为互联网老兵我们一直为用户提供 稳定 高速 高质量的产品。成立至今一直深受用户的喜爱 荣获 “2021年赣州安全大赛第三名” “2020创新企业入围奖” 等殊荣。目前我司在美国拥有4.6万G总内存云服务器资源,香港拥有2.2万G总内存云服务器资源,阿里云香港机房拥有8000G总内存云服务器资源,国内多地区拥有1.6万G总内存云服务器资源,绝非1 2台宿主机的小商家可比。...

GreenCloudVPS$20/年,新加坡/美国/荷兰vps/1核/1GB/30GB,NVMe/1TB流量/10Gbps端口/KVM

greencloudvps怎么样?greencloudvps是一家国外主机商,VPS数据中心多,之前已经介绍过多次了。现在有几款10Gbps带宽的特价KVM VPS,Ryzen 3950x处理器,NVMe硬盘,性价比高。支持Paypal、支付宝、微信付款。GreenCloudVPS:新加坡/美国/荷兰vps,1核@Ryzen 3950x/1GB内存/30GB NVMe空间/1TB流量/10Gbps...

无忧云-河南洛阳BGP,CEPH集群分布式存储,数据安全可靠,活动期间月付大优惠!

 无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点...

egret为你推荐
外媒称华为加速南泥湾项目为什么华为要求清理34岁以上的员工?excel2003官方microsoft office 2003下载多重阴影[讨论]《多重阴影》的中文配音好熟悉啊!iphone12或支持北斗导航苹果12屏幕设置淘气鸟松鸦是否会说话?百度创业史1、《创业史》的作者是谁? 2、文中主要人物有哪些?他们的身份是什么? 3、《创微信语音在哪个文件夹【求助】微信语音的文件夹在哪里??北漂论坛请问北票有论坛吗创业好项目论坛1000元创业有什么好项目可以做?智能公共广播系统智能公共广播系统js-3301数码mp3编程器怎么使用
中国十大域名注册商 域名空间购买 php空间租用 过期已备案域名 表单样式 英语简历模板word 双11抢红包攻略 网盘申请 大容量存储器 什么是刀片服务器 域名评估 华为云建站 阿里云手机官网 阿里云邮箱登陆 云服务是什么意思 广州主机托管 好看的空间 sonya blaze rsync 更多