![]() |
|
||||||||||
|
|||||
|
Есть следуюший код, куда бы не нажимал, все равно действие выполняется.
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends Sprite {
var inform:int = 1;
public function Main() {
add_btn.buttonMode = true;
del_btn.buttonMode = true;
add_btn.addEventListener(MouseEvent.CLICK, addFun);
del_btn.addEventListener(MouseEvent.CLICK, delFun);
}
public function addFun(e:MouseEvent):void {
if (inform == 1) {
addfuninit();
}
}
private function addfuninit():void {
var inform:Number = 0;
trace(inform);
}
private function delFun(e:MouseEvent):void {
if (inform == 0) {
var inform:int = 1;
trace(inform);
}
}
}
}
|
|
|||||
|
Регистрация: Oct 2007
Адрес: Omsk
Сообщений: 10
|
А зачем ты в функциях локальные версии переменной создаешь???
Имхо, поэтому и не работает.
__________________
Пока! |
|
|||||
|
а куда надо писать локальные переменные тогда?
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 23
|
Ты вызываешь addfuninit, которая должна изменять глобальную переменную inform. Но inform из addfuninit недоступно для addFun, так как ты ее создаешь локальной только для addfuninit.
Вообщем так примерно: package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends Sprite {
public var inform:int = 1;
public function Main() {
add_btn.buttonMode = true;
del_btn.buttonMode = true;
add_btn.addEventListener(MouseEvent.CLICK, addFun);
del_btn.addEventListener(MouseEvent.CLICK, delFun);
}
public function addFun(e:MouseEvent):void {
if (inform == 1) {
addfuninit();
}
}
private function addfuninit():void {
inform = 0;
trace(inform);
}
private function delFun(e:MouseEvent):void {
if (inform == 0) {
inform = 1;
trace(inform);
}
}
}
}
|
|
|||||
|
все равно не работает.
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends Sprite {
public var inform:int = 1;
public function Main() {
add_btn.buttonMode = true;
del_btn.buttonMode = true;
add_btn.addEventListener(MouseEvent.CLICK, addFun);
del_btn.addEventListener(MouseEvent.CLICK, delFun);
}
public function addFun(e:MouseEvent):void {
if (inform == 1) {
var inform:int = 0;
trace(inform);
}
}
public function delFun(e:MouseEvent):void {
if (inform == 0) {
var inform:int = 1;
trace(inform);
}
}
}
}
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 23
|
Ты издеваешься?
Внимательнее смотри, что я тебе написал. Какого перепуга ты в каждом методе var inform:int = 1; пишешь?! Ты ее определил уже в самом начале! Далее надо писать - просто inform= 1; |
|
|||||
|
стервочка (я мужик)
|
что бы не было такого идиотизма надо всегда писать this.
|
|
|||||
|
извеняюсь за невнимательность...
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|