- Creator 版本: 3.4.2
我的目的是实现在第一个scene的ToggleGroup选中一个Toggle后能将我的选择传给第二个scene,于是我想的是让第二个scene的typescript访问第一个scene中的typescript存储的变量。
用的方法如下:
sendWuJiangScript.ts
import { _decorator, Component, Node,ToggleContainer,Event,EventHandler, ToggleContainerComponent, Toggle,Label, SpriteFrame, Sprite } from 'cc';
const { ccclass, property } = _decorator;
// export declare var chooseNum:any;
export declare var wuJiangName:string;
@ccclass('sendWuJiangScript')
export class sendWuJiangScript extends Component {
private t1:Toggle;
private t2:Toggle;
private t3:Toggle;
private t4:Toggle;
private t5:Toggle;
private t6:Toggle;
private t7:Toggle;
private t8:Toggle;
private t9:Toggle;
private t10:Toggle;
public chooseNum = 1;
// public wuJiangName:string;
onLoad(){
}
start () {
this.t1 = this.node.getChildByName("Toggle1").getComponent(Toggle);
this.t2 = this.node.getChildByName("Toggle2").getComponent(Toggle);
this.t3 = this.node.getChildByName("Toggle3").getComponent(Toggle);
this.t4 = this.node.getChildByName("Toggle4").getComponent(Toggle);
this.t5 = this.node.getChildByName("Toggle5").getComponent(Toggle);
this.t6 = this.node.getChildByName("Toggle6").getComponent(Toggle);
this.t7 = this.node.getChildByName("Toggle7").getComponent(Toggle);
this.t8 = this.node.getChildByName("Toggle8").getComponent(Toggle);
this.t9 = this.node.getChildByName("Toggle9").getComponent(Toggle);
this.t10 = this.node.getChildByName("Toggle10").getComponent(Toggle);
}
update(dt){
// this.getChoose();
wuJiangName = "caonima";
console.log(wuJiangName);
}
getChoose(){
var self = this;
if(this.t1.isChecked){
this.chooseNum = 1;
wuJiangName = self.node.getChildByName("Toggle1").getComponent(Sprite).spriteFrame.name;
}
else if(this.t2.isChecked){
this.chooseNum = 2;
wuJiangName = self.node.getChildByName("Toggle2").getComponent(Sprite).spriteFrame.name;
}
else if(this.t3.isChecked){
this.chooseNum = 3;
}
else if(this.t4.isChecked){
this.chooseNum = 4;
}
else if(this.t5.isChecked){
this.chooseNum = 5;
}
else if(this.t6.isChecked){
this.chooseNum = 6;
}
else if(this.t7.isChecked){
this.chooseNum = 7;
}
else if(this.t8.isChecked){
this.chooseNum = 8;
}
else if(this.t9.isChecked){
this.chooseNum = 9;
}
else if(this.t10.isChecked){
this.chooseNum = 10;
}
}
}
loadWuJiangScript.ts:
import { _decorator, Component, Node, Sprite, SpriteFrame, assetManager } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('loadWuJiangScript')
export class loadWuJiangScript extends Component {
start () {
let self = this;
// assetManager.loadAny("./resources/img/general_card_caoren",SpriteFrame,function(err,sp){
// console.log(sp);
// self.node.getComponent(Sprite).spriteFrame = sp;
// })
assetManager.loadAny<SpriteFrame>("eec0a9d7-0106-4812-8b5a-05d3cb4c7580@f9941", (err, data) => {
console.log(err)
console.log(data)
self.node.getComponent(Sprite).spriteFrame = data;
// this.Sprite.spriteFrame = data
})
}
}
主要想用这个:export declare var wuJiangName:string;来实现外部变量,但我用console.log打印出来是undefined。
1 个帖 - 1 位参与者