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

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

819云(240元)香港CN2 日本CN2 物理机 E5 16G 1T 20M 3IP

819云是我们的老熟人了,服务器一直都是稳定为主,老板人也很好,这次给大家带来了新活动,十分给力 香港CN2 日本CN2 物理机 E5 16G 1T 20M 3IP 240元0官方网站:https://www.819yun.com/ 特惠专员Q:442379204套餐介绍套餐CPU内存硬盘带宽IP价格香港CN2 (特价)E5 随机分配16G1T 机械20M3IP240元/月日本CN2 (...

RAKsmart:美国洛杉矶独服,E3处理器/16G/1TB,$76.77/月;美国/香港/日本/韩国站群服务器,自带5+253个IPv4

RAKsmart怎么样?RAKsmart机房即日起开始针对洛杉矶机房的独立服务器进行特别促销活动:低至$76.77/月,最低100Mbps带宽,最高10Gbps带宽,优化线路,不限制流量,具体包括有:常规服务器、站群服务器、10G大带宽服务器、整机机柜托管。活动截止6月30日结束。RAKsmart,美国华人老牌机房,专注于圣何塞服务器,有VPS、独立服务器等。支持PayPal、支付宝付款。点击直达...

百纵科技云主机首月9元,站群1-8C同价,美国E52670*1,32G内存 50M 899元一月

百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。官方网站:https://www.baizon.cnC3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C...

egret为你推荐
win7无线局域网如何用Win7搭建无线局域网?百度预测世界杯世界杯预测qq空间个性域名Qq空间的个性域名是什么意思。微软将停止支持32位Win10系统电脑win10系统自带的office2016为什么是32位?客服系统方案客户管理系统方案都有哪些呢?智能公共广播系统智能公共广播系统js-3301数码mp3编程器怎么使用linux操作系统好吗linux好用不?linux操作系统好吗Linux操作系统和WINDOWS7操作系统哪个好腾讯汽车论坛如何推广一个小城市的汽车论坛cf服务器爆满CF老是服务器爆满
什么是域名地址 x3220 国外php主机 免备案空间 服务器cpu性能排行 好看的桌面背景图 网通服务器ip 国外在线代理 爱奇艺vip免费试用7天 linux服务器维护 多线空间 中国电信测速器 秒杀品 镇江高防 美国迈阿密 宿迁服务器 godaddy中文 删除域名 美国vpn服务器 性能测试工具 更多