import Elevator; var num_evs:Number = 3; var num_floors:Number = 10; var my_root:MovieClip = createEmptyMovieClip("my_root",0); var my_wall:MovieClip = createEmptyMovieClip("my_wall",1000); var t = -1.3; _root.setMask(my_mask); var evs:Array = load_evs(); load_floors(); load_escalators(); load_angles(); function load_floors(){ for(var j:Number = 0; j < num_floors; j++){ var name_str:String = "fl" + j; my_root.attachMovie("floor", name_str, 10 + j); var mc:MovieClip = my_root[name_str]; mc._x = -184; mc._y = 181 - 80 * j; } } function load_evs():Array{ var ret:Array = new Array(); // Array of Elevator for(var j:Number = 0; j < num_evs; j++){ var name_str:String = "ev" + j; my_root.attachMovie("ev", name_str, 100 + j); var mc:MovieClip = my_root[name_str]; var ev_halls:Array = load_ev_halls(j); var ev_light:MovieClip = load_ev_light(j); ret[j] = new Elevator(mc, ev_halls, ev_light, 296 + j * 80, 145 + j * 8, num_floors); } return ret; } function load_ev_halls(ev_index:Number):Array{ var ret:Array = new Array(num_floors); for(var j:Number = 0; j < num_floors; j++){ var name_str:String = "ev_hall" + ev_index + "_" + j; my_root.attachMovie("ev_hall", name_str, 200 + j + ev_index * num_floors); var mc:MovieClip = my_root[name_str]; mc._x = 281 + ev_index * 80; mc._y = 151 + ev_index * 9 - j * 80; mc.gotoAndStop(1+(ev_index + j) % 20); ret[j] = mc; } return ret; } function load_ev_light(ev_index:Number):MovieClip{ var name_str:String = "ev_light" + ev_index; my_root.attachMovie("ev_light", name_str, 300 + ev_index); var mc:MovieClip = my_root[name_str]; mc._x = 301 + ev_index * 80; mc._y = 350 - 80 * num_floors; return mc; } function load_escalators(){ load_es_ups(); load_es_downs(); } function load_es_ups(){ for(var j:Number = 0; j < num_floors; j++){ var name_str:String = "es_up" + j; my_root.attachMovie("es_up", name_str, 400 + j * 2); var mc:MovieClip = my_root[name_str]; mc._x = -15; mc._y = 248 - 80 * j; var start_frame:Number = j * 3 + 1; if(j % 2 == 0) start_frame += 60; mc.gotoAndPlay(start_frame % 80); } } function load_es_downs(){ for(var j:Number = 0; j < num_floors; j++){ var name_str:String = "es_down" + j; my_root.attachMovie("es_down", name_str, 400 + j * 2 + 1); var mc:MovieClip = my_root[name_str]; mc._x = -35; mc._y = 258 - 80 * j; var start_frame:Number = j * 3 + 1; if(j % 2 == 1) start_frame += 60; mc.gotoAndPlay(start_frame % 80); } } function load_angles(){ for(var i:Number = 0; i < 10; i++){ for(var j:Number = 0; j < 16; j++){ var name_str:String = "angle" + i + "_" + j; my_wall.attachMovie("angle", name_str, 1000 + j + i * 40); var mc:MovieClip = my_wall[name_str]; mc._x = -80 + i * 100; mc._y = -1500 + j * 100 + i * 10; } } } this.onEnterFrame = function(){ move_evs(); move_pos(); }; function move_evs(){ for(j = 0; j < num_evs; j++){ evs[j].addTime(); } } function move_pos(){ t -= 0.02; var c:Number = Math.cos(t + 1 * Math.PI); var s:Number = Math.sin(t + 1 * Math.PI); my_root._x = 60 * s + 48 * c - 80; my_root._y = 300 + 170 * c - 18 * s; my_wall._x = my_root._x * 3; my_wall._y = my_root._y * 3; }