![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2006
Сообщений: 60
|
Здравствуйте!
Имея опыт задавания здесь вопросов, стал делать макет проблемы. И что самое интересное, макет работает, а в причине я и не разобрался. Изначальный код (извините сто с кирилицей): //Класс_бомб.as
class Класс_бомб extends MovieClip{
private var _чья_бомба:Number
private var _интервал_взрыва:Number;
private var _интервал_качения:Number;
private var _куда_двигаться:String
static var ссылка_на_поле_битвы:Object = undefined;
public static function инициализация_поля(ссылка) {
ссылка_на_поле_битвы = ссылка;
}
public function _взрываемся() {
_root._массив_данных_о_персонажах[this._чья_бомба][16]--
ссылка_на_поле_битвы._установка_на_поле(this._x,this._y,"пусто")
ссылка_на_поле_битвы._взрыв(this._x,this._y,_root._массив_данных_о_персонажах[_чья_бомба][17])
removeMovieClip(this);
}
public function _побуждение_к_движению(_куда:String) {
this._куда_двигаться=_куда
_интервал_качения=setInterval(this,"_двигаемся",2*10);
}
public function _побуждение_к_остановке() {
this._куда_двигаться=''
clearInterval(_интервал_качения);
trace(getTimer())
}
public function _двигаемся() {
switch(this._куда_двигаться){
case 'полночь':
if(ссылка_на_поле_битвы._возможность_катить_бомбу(this._x,(this._y-42),this)){
if(ссылка_на_поле_битвы._дашь_координаты_y_округлю_и_верну(this._y)!=ссылка_на_поле_битвы._дашь_координаты_y_округлю_и_верну(this._y-2)){
trace(this._name)
this._name="_бомба_"+[ссылка_на_поле_битвы._дашь_координаты_y_верну_строку(this._y-2)]+"_"+[ссылка_на_поле_битвы._дашь_координаты_x_верну_столбец(this._x)]
trace(this._name)
}
this._y-=2
} else {
trace('побуждение_к_остановке 42')
this._побуждение_к_остановке()
}
break;
default:
this._побуждение_к_остановке()
trace('побуждение_к_остановке 48')
break;
}
}
public function Класс_бомб() {
Персонаж.инициализация_бомб(this);
if(_root._массив_данных_о_персонажах[this._чья_бомба][18]){ //если взрыв по времени
_интервал_взрыва=setInterval(this,"_взрываемся", _root._массив_данных_о_персонажах[this._чья_бомба][14]*1000);
} else {
}
}
}
А вот рабочий макет, в нем всё срабатывает //C_class.as
class C_class extends MovieClip{
private var intervalId1:Number;
private var intervalId2:Number;
public function _del() {
removeMovieClip(this);
}
public function _go_mo() {
intervalId2=setInterval(this, "_mo",20);
}
public function _sto() {
clearInterval(intervalId2);
trace(getTimer())
}
public function _mo() {
if(this._y>50){
this._y-=2
}else{
this._sto()
}
}
public function C_class() {
intervalId1=setInterval(this, "_del", 2000);
this._go_mo()
}
}
__________________
kto™ Последний раз редактировалось ktotam; 15.09.2008 в 17:24. |
![]() |
Часовой пояс GMT +4, время: 03:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|