015--自找麻烦之 白鹭

1. 开发微信小游戏用5.12及以上版本

2. egret 游戏项目和 egret eui项目 可以发布为微信小游戏

3. 项目--选择完--发布--微信小游戏--填写appid(也可以不填,引擎内置公用appid,但无法正式发布),填写项目名称--默认发布--确认--在项目同级目录出现一个文件夹

4. 实时预览: 在项目目录执行 egret run 会打开微信开发者工具,要先扫码登录,修改代码后执行 egret build 就可以在微信开发者工具实时查看效果,发布的话用 egret publish 命令,然后微信开发者工具就可以提交

5. 微信接口调用: src目录下的platform.ts文件下调用

6. 命令行发布不同平台版本:(好像要在引擎上配置才能生效)

     egret publish --target web (发布的是web版本 )

     egret publish --target wxgame (发布微信版本)

7. 白鹭书籍《HTML5游戏开发技术》笔记:

        该书源码:www.waterpub.com.cn/softdown/

                        www.wsbookshow.com/bookshow/jc/gzgz/cxsjl/12843.html

        白鹭官网: www.egret.com/downloads/engine.html

8. 小游戏不支持 showall 的缩放模式,所以推荐使用 fixedNarrow 模式 

9. this.addChild 是egret引擎操作显示列表最常用的一个方法(可以将某个显示对象添加到显示容器上)

========================================================

10 . 将exml文件与ts文件关联:

<?xml version="1.0" encoding="utf-8"?>
<e:Skin class="MainSkin" width="480" height="800" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing">   //class名字和下面ts文件中的skinName一致就行
	<e:Button id="btn_login" label="登录" bottom="482" horizontalCenter="0"/>
	<e:Label id="label_name" text="用户:" x="79" y="108"/>
	<e:TextInput id="input_name" width="228" height="35" x="174" y="105.5" anchorOffsetX="0" anchorOffsetY="0"/>
	<e:Label id="label_pwd" text="密码:" x="79" y="167"/>
	<e:TextInput id="input_pwd" width="228" height="35" x="174" y="164.5" anchorOffsetX="0" anchorOffsetY="0"/>
	<e:Button id="btn_reg" label="注册" y="350" horizontalCenter="0"/>
</e:Skin>
// TypeScript file
class MainView extends eui.Component {
    public constructor(){
        super();
        this.skinName = "MainSkin";   //这里的值要和exml文件的源码的 class 的名字一致就是关联
    }
}

11. RES资源管理模块共含有三种资源获取方式:         

  • RES.getRes(name:string):any     //常用

            同步获取资源 这种方式只能获取已经缓存过的资源,例如之前调用过loadGroup()被预加载的资源。

  • RES.getResAsync(name:string,compFunc:Function,thisObject:any):void

            异步获取资源,这种方式可以获取配置中含有的所有资源项。如果缓存中存在,直接调用回调函数返回,若不存在,就启动网络加载文件 并解析后回调。

  • RES.getResByUrl(url:string,compFunc:Function,thisObject:any,type:string=””):void

            通过url获取不在配置中的资源,通常不建议使用这个接口,只有那些不合适填写在配置中,比如获取网络上其他服务器的资源时,才采用这种方式

12.  eui.Component 类定义可设置外观的组件的基类。Component 类所使用的外观通常是 Skin 类的子类

13. eui.Image 控件允许您在运行时显示 JPEG、PNG 等图片文件文件

14. 实现粒子效果:

        下载 egret feather -- 点击雪花修改图片(如花瓣)-- 改属性 -- 选择文件 -- 导出 (导到resource/assets路径下)-- 引入 粒子动画库 (在git 下: https://github.com/egret-labs/egret-game-library  不过这个库只有最新版本,另外一个网址:http://bbs.egret.com/thread-24868-1-1.html 这个有多个版本) -- 选择对应版本,把粒子库particle放置在和整个项目的同一级的目录里面(并列关系)--修改 egretProperties.json 文件

"modules": [
    {
      "name": "egret"
    },
    {
      "name": "eui"
    },
    {
      "name": "assetsmanager"
    },
    {
      "name": "tween"
    },
    {
      "name": "promise"
    },
    {       // 在这里加
      "name": "particle",
      "path": "../particle/libsrc"
    }
  ]
-- 按f5编译就可以看到粒子库被引进来

15. egret info 查询安装的egret的版本信息

=================================

腾讯课堂_成语大挑战_听课笔记

1. 音频管理是一个游戏中非常重要的一块

2. 要发布微信小游戏的话: 打开egretwing-文件-新建项目-项目类型选择EUI项目-缩放模式选择fixedNarrow-创建  (舞台640*1136)

3. 游戏的资源都放在 resource 目录中,自己项目所需的资源可以放在 resource/assets/data 路劲下

4. src 目录是我们的源文件目录,在src 新建game目录,本游戏相关的ts文件放在game目录里面,新建模板文件-新建EUI组件会生成ts文件和对应的皮肤文件,我们可以把对应的皮肤文件生成在 resource/game 目录下

5. 皮肤文件中图片直接拖动,按钮之类要拖动 控件,然后给他们配置皮肤快捷模板(也是拖动图片进入)

6. 给按钮设置事件,先设置id(命名可以这样btn_begin),在按钮上面点击复制定义,然后到对应的ts文件中

class SceneBegin extends eui.Component implements  eui.UIComponent {
	public btn_begin:eui.Button;  // 这就是张贴的那两行
	public btn_setting:eui.Button;
...
	// 组件加载完毕之后调用该函数
	protected childrenCreated():void
	{
		super.childrenCreated();
		this.init();
	}

	private init(){
		
		SoundManager.getInstance();    //这是调用音频的类

		this.btn_begin.addEventListener(egret.TouchEvent.TOUCH_TAP,this.begin_tap,this);  //绑定点击事件写在这里
		this.btn_setting.addEventListener(egret.TouchEvent.TOUCH_TAP,this.setting_tap,this);
	}
...
7. 弹出层也要新建一个另外的eui组件(方法和上面类似)
8. 在game新建一个SoundManager.ts 文件(只需要管理音乐的,这种就没必要要新建EUI组件啦,不需要皮肤文件)

9. 在egret中播放音乐用的是 Sound 类,控制音乐播放是通过 SoundChannel 类

10. 加载音乐的文档: http://developer.egret.com/cn/github/egret-docs/Engine2D/multimedia/audio/index.html

11. 单例模式: 只有一个实例,并提供全局访问。(ts中通过static这个静态修饰符去实现)

12. 关卡界面好多关,页面可以滚动,所以比较特别,新建 eui组件(类似以上),(组件-布局)拖动 Scroller 这个组件,因为关卡界面需要读取数据有多少关,所以不能写死,弄好 scroll组件这些就行了

13. exml中组件层级在下面的比在上面的大

14. 滚动视图的使用文档: http://developer.egret.com/cn/github/egret-docs/extension/EUI/container/scroller/index.html

15. 禁止页面水平方向滚动: 

/**
     * 创建场景界面
     * Create scene interface
     */
    protected createGameScene(): void {
        var group = new eui.Group();
        var img = new eui.Image("resource/assets/bg.jpg");
        group.addChild(img);
        //创建一个Scroller
        var myScroller = new eui.Scroller();
        //注意位置和尺寸的设置是在Scroller上面,而不是容器上面
        myScroller.width = 640;
        myScroller.height = 1136;
        //设置viewport
        // myScroller.addChild(group);
        myScroller.viewport = group;
        this.addChild(myScroller);
        myScroller.scrollPolicyH = eui.ScrollPolicy.OFF;   //这一句是禁止页面水平方向滚动
        group.scrollV = group.height;
    }

16.关卡界面需要 先读取有多少关 ,新建 关卡数据管理类 ts

17. 一个ts文件就叫一个组件,关卡的那个按钮也要单独新建一个组件

18. (看到43-31)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值