今天编译测试coco2d飞机大战小游戏,结果控制主体的脚本不执行导致所有的预制体都无法生成
在cocos控制台发现报错
Can not declare ControlAll.start, it is already defined in the prototype of ControlAll
以下是源码
const {ccclass, property} = cc._decorator;
@ccclass
export default class ControlAll extends cc.Component {
@property(cc.Prefab) // 主机预装载位置
planePre:cc.Prefab=null
@property(cc.Prefab) // 僚机预装载位置
liaojiLeft:cc.Prefab=null
@property(cc.Prefab) // 僚机预装载位置
liaojiRight:cc.Prefab=null
@property(cc.Prefab) // 副武器预装载位置
fuwuqiLeft:cc.Prefab=null
@property(cc.Prefab) // 副武器预装载位置
fuwuqiRight:cc.Prefab=null
@property(cc.Component)
start () {
// 初始化飞机
let plane = cc.instantiate(this.planePre)
plane.setParent(cc.director.getScene())
plane.parent.zIndex = 3
plane.zIndex = 3
plane.x=this.node.x
plane.y=this.node.y
// 初始化僚机
let liaojiLeft = cc.instantiate(this.liaojiLeft)
let liaojiRight = cc.instantiate(this.liaojiRight)
liaojiLeft.setParent(cc.director.getScene())
liaojiRight.setParent(cc.director.getScene())
liaojiLeft.zIndex = 3
liaojiRight.zIndex = 3
liaojiLeft.x=this.node.x-120
liaojiRight.x=this.node.x+120
liaojiLeft.y=this.node.y-10
liaojiRight.y=this.node.y-10
// 初始化副武器
let fwqLeft = cc.instantiate(this.fuwuqiLeft)
let fwqRight = cc.instantiate(this.fuwuqiRight)
fwqLeft.setParent(cc.director.getScene())
fwqRight.setParent(cc.director.getScene())
fwqRight.x=this.node.x
fwqLeft.x=this.node.x
fwqLeft.y=this.node.y
fwqRight.y=this.node.y
//飞机移动 副武器移动 僚机移动
this.node.on(cc.Node.EventType.TOUCH_MOVE,(e)=>{
this.node.setPosition(e.getLocation())
plane.x=this.node.x
plane.y=this.node.y
liaojiLeft.x=this.node.x-120
liaojiRight.x=this.node.x+120
liaojiLeft.y=this.node.y-10
liaojiRight.y=this.node.y-10
fwqLeft.x=this.node.x
fwqRight.x=this.node.x
fwqLeft.y=this.node.y
fwqRight.y=this.node.y
})
}
}
运行结果
在cocos模拟器以及浏览器都正常运行,编译到Android之后其他脚本正常执行,控制主体的脚本无法启动
我的思路和尝试过的方法
报错大概意思是无法声明start方法,在其原型上已经有了这个方法,把start方法注释掉会自动报错转移到下一个方法,反正大概就是这个脚本不能声明这些方法,新建个脚本重写依旧如此,有无知道的说说怎么解决,有偿
我想要达到的结果
编译到Android正常调用执行