计分
最开始我想的是在玩家身上创建得分记录
但一想玩家我都销毁了,得分那不是没有了吗?
理论上是子弹与敌机发生碰撞得分
所以还只能是敌机身上触发得分事件,
且得分独立保存
暂时想到的引用老师方法,还可以多学种方法
老师代码
应该类似于注册绑定
static instance : ts_defen // 老师代码
static getinstance() : ts_defen {return this.instance} // 老师代码
protected onLoad(): void {
ts_defen.instance = this // 老师代码
}
defen_add(fen : number){
this.defen += fen
}
调用
ts_defen.getinstance().defen_add(this.jifen) // 从ls那里调用方法
==关键词 static ==
在 TypeScript 中,static 关键字用于定义类的静态成员。静态成员属于类本身,而不是类的实例,这意味着你可以直接通过类来访问它们,而不需要创建类的实例。静态成员包括静态属性和静态方法。
至于显示计分就比较简单了,应该不需要过多解释了
修复无敌bug
我之前是使用
this.enabled = false // 关闭触发器?表示该组件自身是否启用
发现 this.enabled = true 无法开启自身组件(子弹不发射)
还是改用老师方法
增加无敌属性
减血前面判断
受伤修改状态
wudi : boolean = false // 是否无敌
if (this.wudi == true) return // 如果处于无敌状态就返回
this.wudi = true // 无敌状态打开
this.scheduleOnce(function(){this.wudi = false},1) // 延迟1秒关闭无敌状态
初步成型

暂停和开始
创建一个按钮

名字选中框,启用或者不启用(在表示显示隐藏)
node 里面的参数自己高兴调 (老师调过 画布 我没调,不知道有什么关系)
UIT 一样的自己高兴看着调
sprite 没调
button 后5个属性
- 按钮状态图 普通
- 按钮状态图 按下
- 按钮状态图 悬停
- 按钮状态图 禁用
- 按钮绑定事件
哪个组件,哪个脚本,哪个函数
本人全局控制没有老师的多
import { _decorator, Button, Component, director, Label, Node } from 'cc';
import { ts_player } from './ts_player';
const { ccclass, property } = _decorator;
@ccclass('ts_control')
export class ts_control extends Component {
@property defen : number = 0
static instance : ts_control // 老师代码
static getinstance() : ts_control {return this.instance} // 老师代码
@property(Label) ui_defen :Label = null // 得分ui显示
@property(Node) ui_but_p : Node = null
@property(Node) ui_but_s : Node = null
@property(ts_player) player : ts_player = null // 还能这样玩?
touch_mova : boolean = true //
protected onLoad(): void {
ts_control.instance = this // 老师代码
}
start() {
}
update(deltaTime: number) {
}
defen_add(fen : number){
this.defen += fen // 更新得分
this.ui_defen.string = this.defen.toString() // 更新得分显示
}
on_but_p(){ // 暂停
director.pause()
this.player.onmove_mode() // 触摸取反函数
this.ui_but_p.active = false
this.ui_but_s.active = true
}
on_but_s(){ // 开始
director.resume()
this.player.onmove_mode() // 触摸取反函数
this.ui_but_p.active = true
this.ui_but_s.active = false
}
}
不是因为我简化了代码
而是有些东西我写到了player里面去了
再次申明 计分>老师代码
那三条代码很给力,可以在其他脚本中调用
个人理解它的原理是
- 创建变量
- 创建函数返回变量
- 变量绑定类
最后玩家是否可以操控飞机,我偷懒只写了一个函数
更安全的情况下是2个函数
onmove_mode(){this.move = !this.move} // 控制玩家是否可以操控飞机
1108

被折叠的 条评论
为什么被折叠?



