我正在制作一个Flash游戏,并希望在每一圈开始时使用一条线更新圈数,我有一个动态文本框,在运行时设置为'0'的圈数' - 这是有效的细
var p1:String = "0 of 3";
lapPlayer1.text = p1;
每次汽车遇到一个实例名称为 LapChange 的线路时,我希望它更新,我已对汽车进行了热门测试。文本框是动态经典,它叫做 lapPlayer1
onClipEvent(enterFrame){
if(this.hitTest(_root.LapChange)){
if (lapPlayer1.text == "0 of 3") {
var p1:String = "1 of 3";
lapPlayer1.text = p1;
}
if (lapPlayer1.text == "1 of 3") {
var p1:String = "1 of 3";
lapPlayer1.text = p1;
}
if (lapPlayer1.text == "2 of 3") {
var p1:String = "3 of 3";
lapPlayer1.text = p1;
}
}
}
然而,它没有更新文本,任何帮助将不胜感激
卡尔
答案 0 :(得分:0)
这是一般的想法:
stage.addEventListener(Event.ENTER_FRAME,update){
if(car.hitTestObject(line)){
laps++;
}
switch(laps){
case 1:
your_text.text="lap one of three";
break;
//etc
}
}
使用开关块轻松找到匹配项并相应更改文本字段
答案 1 :(得分:0)
lapPlayer1
位于何处?当然它不在车内,对吗?
您必须从汽车内部定位lapPlayer1
,因为您的代码所在地,并假设它位于_root
,请将您的代码更改为:< / p>
onClipEvent(enterFrame){
if(this.hitTest(_root.LapChange)){
if (_root.lapPlayer1.text == "0 of 3") {
var p1:String = "1 of 3";
_root.lapPlayer1.text = p1;
}
if (_root.lapPlayer1.text == "1 of 3") {
var p1:String = "1 of 3";
_root.lapPlayer1.text = p1;
}
if (_root.lapPlayer1.text == "2 of 3") {
var p1:String = "3 of 3";
_root.lapPlayer1.text = p1;
}
}
}