Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Описание переменной "извне" (http://www.flasher.ru/forum/showthread.php?t=141683)

Avrilka 01.07.2010 22:31

Описание переменной "извне"
 
Вообщем смысл такой. У меня возникла проблема. у меня атачатится 2 объекта и мне нужно В НИХ определить переменные.

Код AS1/AS2:

k = _root.battle.getNextHighestDepth();
_root.battle.attachMovie('pers_panel',n + '_eff',k);
k = _root.battle.getNextHighestDepth();
_root.battle.attachMovie('pers',n,k);

определение переменной 1 объект.

Код AS1/AS2:

_root.battle[n + '_eff'].eff_0.onLoad = function()
                {
                        this.eff_0.gotoAndStop(5);
                        var On:String = 'On';
                        var skill_time:Number = 0;
                        var skill_name:String = '';
                        var skill_about:String = '';
                        var skill_level:Number = 0;
                        var cnt_ATTACK:Number = 0;
                        var cnt_HIT:Number = 0;
                        var cnt_DODGE:Number = 0;
                        var cnt_DEFENCE:Number = 0;
                        var cnt_CRITICAL_CHANCE:Number = 0;
                        var cnt_CRITICAL_DAMAGE:Number = 0;
                        var cnt_HP:Number = 0;
 
                        var add_STR:Number = 0;
                        var add_CON:Number = 0;
                        var add_ACC:Number = 0;
                        var add_AGI:Number = 0;
                        var add_INT:Number = 0;
                        var add_VAM:Number = 0;
                        var add_REF:Number = 0;
                };

второй (не работает) :

Код AS1/AS2:

_root.battle[n].onLoad = function()
                {
                        trace('!')
                        var HP_MAX_:Number = 100;
                        var HP_NOW_:Number = 100;
                        var ATTACK_MIN_:Number = 3;
                        var ATTACK_MAX_:Number = 5;
                        var DEFENCE_:Number = 2;
                        var DODGE_:Number = 50;
                        var HIT_:Number = 50;
                        var CRITICAL_CHANCE_:Number = 10;
                        var CRITICAL_DAMAGE_:Number = 1;
                        var REFLECT_:Number = 10;
                        var VAMPIR_:Number = 15;
 
                        var STR_:Number = 10;
                        var AGI_:Number = 10;
                        var INT_:Number = 10;
                        var ACC_:Number = 10;
                        var CON_:Number = 10;
                        var REF_:Number = 10;
                        var VAM_:Number = 100;
 
                        var HP_MAX:Number = 0;
                        var HP_NOW:Number = 0;
                        var ATTACK_MIN:Number = 0;
                        var ATTACK_MAX:Number = 0;
                        var DEFENCE:Number = 0;
                        var DODGE:Number = 0;
                        var HIT:Number = 0;
                        var CRITICAL_CHANCE:Number = 0;
                        var CRITICAL_DAMAGE:Number = 0;
                        var REF:Number = 0;
                        var VAM:Number = 0;
                };
 
                _root.battle[n].HP_MAX_ = 100;
                _root.battle[n].HP_NOW_ = 100;
                _root.battle[n].ATTACK_MIN_ = 3;
                _root.battle[n].ATTACK_MAX_ = 5;
                _root.battle[n].DEFENCE_ = 2;
                _root.battle[n].DODGE_ = 50;
                _root.battle[n].HIT_ = 50;
                _root.battle[n].CRITICAL_CHANCE_ = 10;
                _root.battle[n].CRITICAL_DAMAGE_ = 1;
                _root.battle[n].REFLECT_ = 10;
                _root.battle[n].VAMPIR_ = 15;
 
                _root.battle[n].STR_ = 10;
                _root.battle[n].AGI_ = 10;
                _root.battle[n].INT_ = 10;
                _root.battle[n].ACC_ = 10;
                _root.battle[n].CON_ = 10;
                _root.battle[n].REF_ = 10;
                _root.battle[n].VAM_ = 100;
 
                _root.battle[n].HP_MAX = 0;
                _root.battle[n].HP_NOW = 0;
                _root.battle[n].ATTACK_MIN = 0;
                _root.battle[n].ATTACK_MAX = 0;
                _root.battle[n].DEFENCE = 0;
                _root.battle[n].DODGE = 0;
                _root.battle[n].HIT = 0;
                _root.battle[n].CRITICAL_CHANCE = 0;
                _root.battle[n].CRITICAL_DAMAGE = 0;
                _root.battle[n].REF = 0;
                _root.battle[n].VAM = 0;

я выяснил то что это дело изза вложенности.в 1 случае я добавляю не в него переменные, а в объект который лежит в нем и ВСЕ работает. во второй напрямую к объекту и нифига :boredom:.

Помогите решить проблемку.

Да и еще. Если другие способы описать переменные в объекте? Просто писать onLoad. описывать в нем переменные, а потом после функции задавать им значения убожество.

Не пинайте сильно я же учусь :away:

NoCD 02.07.2010 09:17

Если я правильно понял, вы хотите к аттаченым мувикам задать переменные.

Код AS1/AS2:

var clip = _root.attachMovie("k","k1",0)
  init(clip)
var clip = _root.attachMovie("k","k2",1)
  init(clip)
 
function init(clip){
 
clip.x = random(5);
clip.y = random(5);
 
trace("clip.x= "+clip.x);
trace("clip.y= "+clip.y);
 
}
 
trace("_root['k1'].x= "+_root["k1"].x);
trace("_root['k1'].y= "+_root["k1"].y);
trace("_root['k2'].x= "+_root["k2"].x);
trace("_root['k2'].y= "+_root["k2"].y);



Часовой пояс GMT +4, время: 06:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.