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是容器,在此基础上还可以添加子容器和显示对象,一般用于创建可承载内容的游戏层或者游戏对象。

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

LightNode($7.71/月)香港cn2精品线路

LightNode官网LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。为用户带来高性能服务器以及优质的服务的同时还提供丰厚的促销活动,新用户注册最高送$20。注册用户带新客即可得10%返佣。商家支持PayPal,支付宝等支付方式。官网:https:/...

无视CC攻击CDN ,DDOS打不死高防CDN,免备案CDN,月付58元起

快快CDN主营业务为海外服务器无须备案,高防CDN,防劫持CDN,香港服务器,美国服务器,加速CDN,是一家综合性的主机服务商。美国高防服务器,1800DDOS防御,单机1800G DDOS防御,大陆直链 cn2线路,线路友好。快快CDN全球安全防护平台是一款集 DDOS 清洗、CC 指纹识别、WAF 防护为一体的外加全球加速的超强安全加速网络,为您的各类型业务保驾护航加速前进!价格都非常给力,需...

腾讯云轻量服务器老用户续费优惠和老用户复购活动

继阿里云服务商推出轻量服务器后,腾讯云这两年对于轻量服务器的推广力度还是比较大的。实际上对于我们大部分网友用户来说,轻量服务器对于我们网站和一般的业务来说是绝对够用的。反而有些时候轻量服务器的带宽比CVM云服务器够大,配置也够好,更有是价格也便宜,所以对于初期的网站业务来说轻量服务器是够用的。这几天UCLOUD优刻得香港服务器稳定性不佳,于是有网友也在考虑搬迁到腾讯云服务器商家,对于轻量服务器官方...

egret为你推荐
外媒称华为加速南泥湾项目为什么华为要求清理34岁以上的员工?360杀毒在线安装360杀毒免费版下载189邮箱怎么发短信请问189邮箱怎样登录、发邮件?大蟒蛇平台PY平台是什么?发送垃圾短信常见十一类垃圾短信内容goalgoalgoal多啦a梦一共多少集TV版spotlight搜索是什么spotlight是什么意思微软将停止支持32位Win10系统你使用的Windows10即将终止服务是什么意思?iphone12或支持北斗导航苹果12处理器是什么北漂论坛请问北票有论坛吗
租服务器价格 budgetvm net主机 enom 12306抢票攻略 云主机51web tk域名 hkg 网站卫士 100mbps 流媒体加速 512mb 上海电信测速网站 阿里云官方网站 vul 永久免费空间 阿里云邮箱登陆地址 lamp的音标 阵亡将士纪念日 netvigator 更多