Мне нужно проконсультироваться с кодом. Я пишу любительскую «игру», и все пошло, но у меня проблема с тем, что основной фрейм, код, вероятно, слишком длинный, и вспышка определенной длины в отладчике зависает.Замораживание приложения AS3
В частности, у меня много кадров MovieClip, для которых изменяется их видимость, а затем какой-либо один таймер и некоторые типы условий, если/else - заявления и функции, - кнопки мыши, заменяющие кнопки. Я знаю, что это написано не очень хорошо, но я любительское программирование. Я был бы рад, если вы поможете мне найти что-то, что поможет мне уменьшить сложность приложения, поэтому я был вынужден уйти прямо перед целью. Может быть, я могу написать такое. чтобы остановить замораживание программы. Благодарю.
Вот пример кода основного кадра:
import flash.events.MouseEvent;
import flash.events.Event;
flash.utils.Timer;
import flash.events.TimerEvent;
if (pavelON == true) {
pavel2.visible = true;
} else {
pavel2.visible = false;
}
if (petrON == true) {
petr2.visible = true;
} else {
petr2.visible = false;
}
if (martinON == true) {
martin2.visible = true;
} else {
martin2.visible = false;
}
if (zdencaON == true) {
zdenca2.visible = true;
} else {
zdenca2.visible = false;
}
if (danON == true) {
dan2.visible = true;
} else {
dan2.visible = false;
}
if (paziON == true) {
pazi2.visible = true;
} else {
pazi2.visible = false;
}
var countDownDec:Number = 1;
var totalSecs = 0;
var countDownSecs = totalSecs;
cas.text = countDownSecs;
var time:Timer = new Timer(countDownDec*1000);
time.addEventListener(TimerEvent.TIMER, tick);
function tick(e:TimerEvent):void {
if (countDownSecs == 120) {
trace("count down complete");
time.stop();
countDownSecs = totalSecs;
} else {
countDownSecs = countDownSecs + countDownDec;
cas.text = countDownSecs;
}
}
stage.addEventListener(Event.ENTER_FRAME, startTimer);
function startTimer(e:Event):void {
if(time.running == true) {
} else {
cas.text = totalSecs;
time.start();
}
}
var mcnm:Number = 2;
var mcnf:Number = 0;
var mcnt:Number = 0;
var hm:Number = 0;
mcnmt.text = mcnm.toString();
mcnft.text = mcnf.toString();
mcntt.text = mcnt.toString();
hmt.text = hm.toString();
pavel2.stop();
petr2.stop();
martin2.stop();
zdenca2.stop();
dan2.stop();
pazi2.stop();
pavel_prace.visible = false;
petr_prace.visible = false;
martin_prace.visible = false;
zdenca_prace.visible = false;
dan_prace.visible = false;
pazi_prace.visible = false;
upozorneni.visible = false;
var pavel2ON:Boolean = false;
var petr2ON:Boolean = false;
var martin2ON:Boolean = false;
var zdenca2ON:Boolean = false;
var dan2ON:Boolean = false;
var pazi2ON:Boolean = false;
upozorneni.zavrit.addEventListener(MouseEvent.CLICK,zavriClick);
function zavriClick(event:MouseEvent):void{
upozorneni.visible = false;}
pavel2.addEventListener(MouseEvent.CLICK,pavelClick);
function pavelClick(event:MouseEvent):void{
if ((pavel2ON == false)&&(mcnm > 0)){
pavel_prace.visible =true;
Потому что это вклад ограниченной длины текста код затем здесь: http://www.filedropper.com/code_4
прилагаю SWF-файл, который вы можете увидеть эту функцию. https://ulozto.cz/!ab4C1i5yTJKG/kollmorgen3-swf (проход: «pomoc») Конец заключен в круглые скобки преднамеренно, потому что без них теперь он замерзает. Я не знаю границ Adobe Flash CS5.5.
Я сомневаюсь, что ваш код слишком длинный. Но чем больше у вас кода, тем больше шансов, что вы набрали что-то не так, и это может привести к ошибке –
Почему 'uporzanini.' перед' zavrit'? но ничего подобного перед «павелом»? –