[Flash/AS] Compiler-Fehler bei Countdown-Zähler

Dieses Thema im Forum "Webentwicklung" wurde erstellt von samba51, 2. Oktober 2009 .

Schlagworte:
  1. 2. Oktober 2009
    Compiler-Fehler bei Countdown-Zähler

    hey leute, hab irgendwie ein problem, das ich nich lösen kann... ich habe mir mal den countdown-zähler von v2b genommen, um mir nen eigenen zu erstellen, aber irgendwie klappts nich -.- ...
    hab die .swf dekompiliert und scheitere irgendwie am kompilieren, weil ich immer diese kompilier-fehler bekomme (hab die stellen mal blau und rot markiert, damits ersichtlicher wird)...

    Code:
    package 
    {
     import flash.display.*;
     import flash.events.*;
     import flash.text.*;
     import flash.utils.*;
     import gs.*;
     import gs.easing.*;
    
     public class CounterFeature extends MovieClip
     {
     public var content_mask_mc:MovieClip;
     private var seconds:uint = 0;
     private var hours:uint = 0;
     private var end_date:Date;
     private var button_color:String;
     private var digit2:Digit;
     private var digit3:Digit;
     private var digit4:Digit;
     private var digit5:Digit;
     private var digit6:Digit;
     private var digit7:Digit;
     private var digit8:Digit;
     private var content_holder:Sprite;
     private var digit1:Digit;
     private var counter_type:String = "days";
     private var digit9:Digit;
     private var date_string:String = "2022,2,2,2,2,2";
     public var content_holder_mc:MovieClip;
     private var counter_pos_x:Number = 29;
     private var counter_pos_y:Number = 63;
     private var counter_holder:Sprite;
     private var days:uint = 0;
     private var counter_header_text:String = "Sekunden";
     private var minutes:uint = 0;
     private var button_link:String;
     private var update_display_delay:uint;
     private var tween:String = "true";
     private var file:String;
     private var counter_display:Sprite;
     private static var DIGIT_ANI_DURATION:Number = 0.6;
    
     public function CounterFeature()
     {
     stage.align = StageAlign.TOP_LEFT;
     stage.scaleMode = StageScaleMode.NO_SCALE;
     this.addEventListener(Event.ENTER_FRAME, init, false, 0, true);
     return;
     }// end function
    
     private function addDigit() : void
     {
     var _loc_1:* = new Digit(5);
     _loc_1.x = 10;
     _loc_1.y = 10;
     this.addChild(_loc_1);
     _loc_1.setAnimatedText(6, 0.8);
     var _loc_2:* = new Digit(6);
     _loc_2.x = 32;
     _loc_2.y = 10;
     this.addChild(_loc_2);
     _loc_2.setAnimatedText(7, 0.8);
     var _loc_3:* = new Digit(7);
     _loc_3.x = 200;
     _loc_3.y = 10;
     this.addChild(_loc_3);
     _loc_3.setAnimatedText(8, 0.8);
     return;
     }// end function
    
     public function init(event:Event) : void
     {
     var _loc_2:Array = null;
     if (root.loaderInfo.bytesLoaded >= root.loaderInfo.bytesTotal && stage.stageWidth > 0 && stage.stageHeight > 0)
     {
     this.removeEventListener(Event.ENTER_FRAME, init);
     if (this.root.loaderInfo.parameters.tween != undefined)
     {
     tween = this.root.loaderInfo.parameters.tween;
     }
     if (this.root.loaderInfo.parameters.file != undefined)
     {
     file = this.root.loaderInfo.parameters.file;
     }
     if (this.root.loaderInfo.parameters.counter_type != undefined)
     {
     counter_type = this.root.loaderInfo.parameters.counter_type;
     }
     if (this.root.loaderInfo.parameters.date_string != undefined)
     {
     date_string = this.root.loaderInfo.parameters.date_string;
     }
     if (this.root.loaderInfo.parameters.counter_header_text != undefined)
     {
     counter_header_text = this.root.loaderInfo.parameters.counter_header_text;
     }
     if (this.root.loaderInfo.parameters.counter_pos_x != undefined && !isNaN(Number(this.root.loaderInfo.parameters.counter_pos_x)))
     {
     counter_pos_y = Number(this.root.loaderInfo.parameters.counter_pos_x);
     }
     if (this.root.loaderInfo.parameters.counter_pos_y != undefined && !isNaN(Number(this.root.loaderInfo.parameters.counter_pos_x)))
     {
     counter_pos_y = Number(this.root.loaderInfo.parameters.counter_pos_y);
     }
     if (this.root.loaderInfo.parameters.button_link != undefined && this.root.loaderInfo.parameters.button_link.length > 0)
     {
     button_link = this.root.loaderInfo.parameters.button_link;
     }
     _loc_2 = date_string.split(",");
     [B][COLOR="Blue"]end_date = new Date(Number(_loc_2[0]), Number(_loc_2[1])--, Number(_loc_2[2]), Number(_loc_2[3]), Number(_loc_2[4]), Number(_loc_2[5]));[/COLOR][/B]
     initStage();
     }
     return;
     }// end function
    
     private function showCounter(event:ImageLoaderEvent = null) : void
     {
     if (tween == "true")
     {
     TweenMax.to(counter_holder, 1, {autoAlpha:1, ease:Quad.easeOut});
     }
     else
     {
     counter_holder.visible = true;
     counter_holder.alpha = 1;
     }
     return;
     }// end function
    
     private function calculateDisplayValues() : void
     {
     var _loc_1:* = Math.round((end_date.getTime() - new Date().getTime()) / 1000);
     if (_loc_1 <= 0)
     {
     days = 0;
     hours = 0;
     minutes = 0;
     seconds = 0;
     clearInterval(update_display_delay);
     return;
     }
     if (counter_type == "days")
     {
     days = uint(_loc_1 / 24 / 60 / 60);
     _loc_1 = _loc_1 - days * 24 * 60 * 60;
     if (days > 99)
     {
     days = 99;
     }
     hours = uint(_loc_1 / 60 / 60);
     _loc_1 = _loc_1 - hours * 60 * 60;
     minutes = uint(_loc_1 / 60);
     _loc_1 = _loc_1 - minutes * 60;
     seconds = _loc_1;
     }
     else
     {
     days = 0;
     hours = 0;
     minutes = 0;
     if (_loc_1 > 999999999)
     {
     seconds = 999999999;
     }
     else
     {
     seconds = _loc_1;
     }
     }
     return;
     }// end function
    
     private function setDisplayValues() : void
     {
     var _loc_1:String = null;
     calculateDisplayValues();
     if (counter_type == "days")
     {
     digit1.setAnimatedText(int(days / 10), DIGIT_ANI_DURATION);
     digit2.setAnimatedText(int(days - int(days / 10) * 10), DIGIT_ANI_DURATION);
     digit3.setAnimatedText(int(hours / 10), DIGIT_ANI_DURATION);
     digit4.setAnimatedText(int(hours - int(hours / 10) * 10), DIGIT_ANI_DURATION);
     digit5.setAnimatedText(int(minutes / 10), DIGIT_ANI_DURATION);
     digit6.setAnimatedText(int(minutes - int(minutes / 10) * 10), DIGIT_ANI_DURATION);
     digit7.setAnimatedText(int(seconds / 10), DIGIT_ANI_DURATION);
     digit8.setAnimatedText(int(seconds - int(seconds / 10) * 10), DIGIT_ANI_DURATION);
     }
     else
     {
     _loc_1 = String(seconds);
     if (_loc_1.length > 9)
     {
     _loc_1.substring(_loc_1.length - 9, 9);
     }
     else if (_loc_1.length < 9)
     {
     while (_loc_1.length < 9)
     {
     
     _loc_1 = "0" + _loc_1;
     }
     }
     digit1.setAnimatedText(int(_loc_1.substr(0, 1)), DIGIT_ANI_DURATION);
     digit2.setAnimatedText(int(_loc_1.substr(1, 1)), DIGIT_ANI_DURATION);
     digit3.setAnimatedText(int(_loc_1.substr(2, 1)), DIGIT_ANI_DURATION);
     digit4.setAnimatedText(int(_loc_1.substr(3, 1)), DIGIT_ANI_DURATION);
     digit5.setAnimatedText(int(_loc_1.substr(4, 1)), DIGIT_ANI_DURATION);
     digit6.setAnimatedText(int(_loc_1.substr(5, 1)), DIGIT_ANI_DURATION);
     digit7.setAnimatedText(int(_loc_1.substr(6, 1)), DIGIT_ANI_DURATION);
     digit8.setAnimatedText(int(_loc_1.substr(7, 1)), DIGIT_ANI_DURATION);
     digit9.setAnimatedText(int(_loc_1.substr(8, 1)), DIGIT_ANI_DURATION);
     }
     return;
     }// end function
    
     private function initStage() : void
     {
     var _loc_1:Sprite = null;
     var _loc_2:Array = null;
     var _loc_3:String = null;
     var _loc_4:ImageLoader = null;
     var _loc_5:LinkButton = null;
     content_holder = Sprite(this.getChildByName("content_holder_mc"));
     calculateDisplayValues();
     counter_holder = new Sprite();
     counter_display = new Sprite();
     if (counter_type == "days")
     {
     _loc_1 = new bg_days_mc();
     _loc_2 = counter_header_text.split("|");
     if (_loc_2.length == 4)
     {
     TextField(_loc_1.getChildByName("days_header_op")).text = _loc_2[0];
     TextField(_loc_1.getChildByName("hours_header_op")).text = _loc_2[1];
     TextField(_loc_1.getChildByName("minutes_header_op")).text = _loc_2[2];
     TextField(_loc_1.getChildByName("seconds_header_op")).text = _loc_2[3];
     }
     digit1 = new Digit(int(days / 10));
     digit1.x = 14;
     counter_display.addChild(digit1);
     digit2 = new Digit(int(days - int(days / 10) * 10));
     digit2.x = 36;
     counter_display.addChild(digit2);
     digit3 = new Digit(int(hours / 10));
     digit3.x = 69;
     counter_display.addChild(digit3);
     digit4 = new Digit(int(hours - int(hours / 10) * 10));
     digit4.x = 91;
     counter_display.addChild(digit4);
     digit5 = new Digit(int(minutes / 10));
     digit5.x = 124;
     counter_display.addChild(digit5);
     digit6 = new Digit(int(minutes - int(minutes / 10) * 10));
     digit6.x = 146;
     counter_display.addChild(digit6);
     digit7 = new Digit(int(seconds / 10));
     digit7.x = 179;
     counter_display.addChild(digit7);
     digit8 = new Digit(int(seconds - int(seconds / 10) * 10));
     digit8.x = 201;
     counter_display.addChild(digit8);
     }
     else
     {
     _loc_1 = new bg_seconds_mc();
     TextField(_loc_1.getChildByName("seconds_header_op")).text = counter_header_text;
     _loc_3 = String(seconds);
     if (_loc_3.length > 9)
     {
     _loc_3.substring(_loc_3.length - 9, 9);
     }
     else if (_loc_3.length < 9)
     {
     while (_loc_3.length < 9)
     {
     
     _loc_3 = "0" + _loc_3;
     }
     }
     digit1 = new Digit(int(_loc_3.substr(0, 1)));
     digit1.x = 15;
     counter_display.addChild(digit1);
     digit2 = new Digit(int(_loc_3.substr(1, 1)));
     digit2.x = 37;
     counter_display.addChild(digit2);
     digit3 = new Digit(int(_loc_3.substr(2, 1)));
     digit3.x = 59;
     counter_display.addChild(digit3);
     digit4 = new Digit(int(_loc_3.substr(3, 1)));
     digit4.x = 85;
     counter_display.addChild(digit4);
     digit5 = new Digit(int(_loc_3.substr(4, 1)));
     digit5.x = 107;
     counter_display.addChild(digit5);
     digit6 = new Digit(int(_loc_3.substr(5, 1)));
     digit6.x = 129;
     counter_display.addChild(digit6);
     digit7 = new Digit(int(_loc_3.substr(6, 1)));
     digit7.x = 155;
     counter_display.addChild(digit7);
     digit8 = new Digit(int(_loc_3.substr(7, 1)));
     digit8.x = 177;
     counter_display.addChild(digit8);
     digit9 = new Digit(int(_loc_3.substr(8, 1)));
     digit9.x = 199;
     counter_display.addChild(digit9);
     }
     counter_holder.addChild(_loc_1);
     counter_display.y = 28;
     counter_holder.addChild(counter_display);
     counter_holder.x = 4 + counter_pos_x;
     counter_holder.y = 2 + counter_pos_y;
     if (file != null)
     {
     counter_holder.visible = false;
     counter_holder.alpha = 0;
     _loc_4 = new ImageLoader(file, tween);
     _loc_4.addEventListener(ImageLoaderEvent.IMAGE_LOADED, showCounter, false, 0, true);
     content_holder.addChildAt(_loc_4, 0);
     }
     if (button_link != null)
     {
     _loc_5 = new LinkButton(button_link, stage.stageWidth, stage.stageHeight);
     content_holder.addChild(_loc_5);
     }
     counter_holder.mouseEnabled = false;
     counter_holder.buttonMode = false;
     counter_holder.mouseChildren = false;
     this.addChild(counter_holder);
     [B][COLOR="Red"]update_display_delay = setInterval(setDisplayValues, 1000);[/COLOR][/B]
     return;
     }// end function
    
     }
    }
    
    compiler-fehler für blau : 1106: Operand des Inkrements muss ein Verweis sein.

    compiler-fehler für rot : Warning: 1060: Migrationsfehler: Die Methode setInterval wird nicht mehr unterstützt. Verschoben in das flash.utils-Paket. Sie können stattdessen die Timer-Klasse verwenden..

    genauso konnte ich noch das datum nicht einstellen (bspw. 10.12.2009)... wenn mir das jemand mal im as-code markieren könnte, wo ichs eintragen muss, wäre ich sehr dankbar... also ich möchts erst mal lokal auf meinem rechner ausprobieren mit meiner systemzeit... auf den server klatschen und mit der serverzeit abgleichen lassen kann ich dann später alleine...

    bw für jede nützliche hilfe ist natürlich ehrensache...

    mfg samba
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.