初学者用COCOS CREATOR写一款飞机大战游戏(2)

首先制作游戏的登录场景,这款游戏的制作思路戒戒也是参考了网上的一款同类型的飞机大战游戏,游戏的部分数据保存在常驻节点中。在场景内新增一个空节点,命名为PersistNode,然后把它设置为常驻节点。

添加图片注释,不超过 140 字(可选)

那么如何把一个节点设置为常驻节点?并且常驻节点又是什么意思呢?

常驻节点顾名思义就是在游戏内一直存在的节点,它不会在游戏切换场景的时候而消失。cocos引擎同时只会运行一个场景,当切换场景时,默认会将场景内所有节点和其他实例销毁。如果我们需要用一个组件控制所有场景的加载,或在场景之间传递参数数据,就需要将该组件所在节点标记为常驻节点,使它在场景切换时不被自动销毁,常驻内存。节点变成常驻节点也很简单:用一句代码就可以搞定了:

director.addPersistRootNode(myNode);

启动界面很简单,放一个按钮然后跳转场景,这里可以做一些登录之类的功能,当然如果游戏玩家数据大的话也可以把从后台获取玩家数据的操作放这边。一般在进入游戏前还会放一个健康游戏忠告之类的画面。

​在进入游戏主界面之后,就可以通过获取常驻节点中的数据来用。获取方法也比较简单:

this.persistNode = find("PersistNode");

attackNumber: this.persistNode.getComponent(PersistNode).normalBulletAttack,

在之前的时候我们再用户登录的时候获取到了用户的昵称和头像并保存了起来,这里就可以获取来显示了:

initUserInfo() { this.userInfo = JSON.parse(sys.localStorage.getItem("userInfo")); // 获取主武器数据 //console.log('111' + this.userInfo) if (this.userInfo != null) { let { nickName, avatarUrl } = this.userInfo this.username.string = nickName; this.setAvatar(avatarUrl) } }

设置头像:

setAvatar(url): void { let spire = this.userPic.getComponent(Sprite) assetManager.loadRemote<ImageAsset>(url + "?aaa=aa.jpg", { ext: '.jpg' }, (_err, imageAsset) => { let sp = new SpriteFrame(); let texture = new Texture2D(); texture.image = imageAsset; sp.texture = texture spire.spriteFrame = sp; }) }

同时我们再start方法里也把分享功能先做了,因为这款游戏戒戒主要发布在微信上,所以分享方面用的也是WX相关方法:

​start() { const wx = window['wx'];//避开ts语法检测 wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] }); wx.onShareAppMessage(function (res) { return { title: "我在无尽模式里斩获8000分,你来试试吧!",//分享的标题 imageUrl: 'https://img1.baidu.com/it/u=3687624392,2417709466&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300', } }) wx.onShareTimeline(function (res) { return { title: "我在无尽模式里斩获8000分,你来试试吧!",//分享的标题 imageUrl: 'https://img1.baidu.com/it/u=3687624392,2417709466&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300', } })

这里其实可以根据设备来判断做分享代码:戒戒也是贴出了cocos里的平台标识

if (WECHAT) 如果是微信内打开的话就会返回true,这款游戏是戒戒学习cocos的首款上手作,所以做的比较粗陋,界面方面也好似东拼西凑,勉强能看。飞机的主武器、导弹、防护罩等都可以升级。

游戏内的关卡分为普通关和无尽模式,无尽模式还有排行榜玩法,你确定不来拿个榜吗?

添加图片注释,不超过 140 字(可选)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值