2010-11-24 7 views
2

AS2初心者ここで、次のコードで誰かが私を助けることができるかどうかを知りたいと思います。基本的には、私はactivedenから取得したAS2ニュース・スクロール・プログラムを作成するためにすでに使用されているXMLファイルに別のフィールドを追加します。あなたは、日フィールドを重複して試して、月フィールドを追加したことに気づくでしょうが、動作していないようです。どんな助けでも大歓迎です。私のコードは以下の通りです。AS2スクリプトに別のXMLフィールドを追加する

XML:

<?xml version=".0" encoding="utf-8" ?> 
<xml> 

<settings 

newswidth  = "320" 
newsheight  = "390" 
timer   = "200" 
bgAlpha  = "90" 
dateColor  = "0xEAEAEA" 
newsBgColor = "0x3E3E3E" 
dateBgColor = "0x3E3E3E" 
navIconColor = "0x222222" 
navBgColor  = "0xFFFFFF" 
> 

</settings> 

<allnews> 
    <news>    
     <day><![CDATA[<a href="http://activeden.net/user/designesia">01</a>]]></day> 
     <month>DEC</month> 
     <text><![CDATA[<a href="http://activeden.net/user/designesia">Recalls</a>]]></text> 
     <url>http://activeden.net/user/designesia</url> 
     <window>2</window>  
    </news> etc. 

のActionScript:

//XML NEWS SCROLLER BY DESIGNESIA 2 
stop(); 
var myxml = new XML(); 
var newsAr:Array = new Array(); 
var ypos = 0; 
var page = 0; 
var t = 0; 
myxml.ignoreWhite = true; 
myxml.load("news.xml"); 

import mx.transitions.Tween; 
import mx.transitions.easing.*; 

newsclip.mc._visible = false; 

setColor = function(mc,varColor){ 
    var mycolor:Color = new Color(mc); 
    mycolor.setRGB(varColor); 
} 

myxml.onLoad = function(success){ 
    if(success){ 
     // ===== GET GLOBAL SETTINGS FROM XML ===== 
     settings = myxml.firstChild.childNodes[0].attributes; 
     mask._width = settings.newswidth; 
     mask._height = settings.newsheight; 
     bgAlpha = Number(settings.bgAlpha); 
     timer = Number(settings.timer); 

     // ===== COLOR SETTINGS ===== 
     //dateColor = settings.dateColor; 
     newsBgColor = settings.newsBgColor; 
     dateBgColor = settings.dateBgColor; 
     navIconColor = settings.navIconColor; 
     navBgColor = settings.navBgColor; 

     // ===== PRE INIT ===== 
     btnUp._alpha = bgAlpha; 
     btnDown._alpha = bgAlpha; 
     btnUp._x = mask._width - btnUp._height - 100; 
     btnDown._x = mask._width - btnUp._height - 140; 
     btnUp._y = mask._height + 18; 
     btnDown._y = btnUp._y; 

     // ===== CSS FOR TEXT ===== 
     var style = new TextField.StyleSheet(); 
     style.setStyle("a:link", {textDecoration:'none'}); 
     style.setStyle("a:hover", {textDecoration:'underline'}); 
     style.setStyle("em", {textDecoration:'underline'}); 

     // ===== NEWS COUNT =====  
     total = myxml.firstChild.childNodes[1].childNodes.length; 



     // ===== GENERATE NEWS =====   
     for(i=1;i<=total;i++){ 
      duplicateMovieClip("newsclip.mc","mc"+i,i);   
      newsAr[i] = eval("newsclip.mc" + i);  
      newsAr[i]._y = newsAr[i-1]._y + 91;  
      newsAr[i]._alpha = bgAlpha; 
      newsAr[i].bg._width = mask._width; 

      // ===== DATE ===== 
      newsAr[i].date.txt.text = myxml.firstChild.childNodes[1].childNodes[i-1].childNodes[0].childNodes[0].nodeValue; 
      newsAr[i].date.txt.text = newsAr[i].date.txt.text.toUpperCase() 
      setColor(newsAr[i].bgdate,dateBgColor); 

      // ===== MONTH ===== 
      newsAr[i].date.txt2.text = myxml.firstChild.childNodes[1].childNodes[i-1].childNodes[1].childNodes[0].nodeValue; 
      newsAr[i].date.txt2.text = newsAr[i].date.txt2.text.toUpperCase() 
      setColor(newsAr[i].bgdate,dateBgColor); 

      // ===== VARIABLE & SETTINGS FOR TEXT ===== 
      newsAr[i].teks.txt._width = mask._width - 20; 
      newsAr[i].teks.txt.multiline = true; 
      newsAr[i].teks.txt.selectable = false; 
      newsAr[i].teks.txt.html = true;   
      newsAr[i].teks.txt.htmlText = myxml.firstChild.childNodes[1].childNodes[i-1].childNodes[2].childNodes[0].nodeValue; 
      newsAr[i].teks.txt.styleSheet = style; 

      // ===== BACKGROUND ===== 
      //setColor(newsAr[i].bg,newsBgColor); 

      // ===== URL ===== 
      newsAr[i].link = myxml.firstChild.childNodes[1].childNodes[i-1].childNodes[3].childNodes[0].nodeValue; 
      newsAr[i].wd = Number(myxml.firstChild.childNodes[1].childNodes[i-1].childNodes[3].childNodes[0].nodeValue); 

      // ===== ADD BUTTON FUNCTION ===== 
      newsAr[i].onRelease = function(){ 
       if(this.link<>undefined){ 
        if(this.wd==1){ 
         getURL(this.link,"_self"); 
        }else{ 
         getURL(this.link,"_blank"); 
        } 
       } 

      } // CLOSE newsAr[i].onRelease 

      newsAr[i].onRollOver = function(){ 
       var HTween1:Tween = new Tween (this,"_alpha",Strong.easeOut,bgAlpha,100,1,true);  
      }   
      newsAr[i].onRollOut = function(){ 
       var HTween1:Tween = new Tween (this,"_alpha",Strong.easeOut,100,bgAlpha,1,true);  
      } 

     } // ===== CLOSE FOR =====  

     // ===== ACTION FOR NAVIGATION BUTTONS ===== 

      // ===== SET COLOR ==== 
      setColor(btnUp.bg,navBgColor); 
      setColor(btnDown.bg,navBgColor); 
      setColor(btnUp.ico,navIconColor); 
      setColor(btnDown.ico,navIconColor); 

      btnUp.onRelease = function(){ 
       t = 0; 
       if(page>0){ 
        page--; 
        ypos+=91; 
        var HTween1:Tween = new Tween (newsclip,"_y",Strong.easeIn,newsclip._y,ypos,.5,true); 
       } 
      }   
      btnUp.onRollOver = function(){ 
       var HTween1:Tween = new Tween (this,"_alpha",Strong.easeOut,bgAlpha,100,1,true);  
      } 
         btnUp.onRollOut = function(){ 
       var HTween1:Tween = new Tween (this,"_alpha",Strong.easeOut,100,bgAlpha,1,true);  
      } 

      btnDown.onRelease = function(){  
       t = 0; 
       if(page<total-5){ 
        page++; 
        ypos-=80; 
        var HTween1:Tween = new Tween (newsclip,"_y",Strong.easeIn,newsclip._y,ypos,.5,true); 
       }else{ 
        page = 0; 
        ypos = 0; 
        var HTween1:Tween = new Tween (newsclip,"_y",Strong.easeIn,newsclip._y,ypos,.5,true); 
       } 
      }   

      btnDown.onRollOver = function(){ 
       var HTween1:Tween = new Tween (this,"_alpha",Strong.easeOut,bgAlpha,100,1,true);  
      }   
      btnDown.onRollOut = function(){ 
       var HTween1:Tween = new Tween (this,"_alpha",Strong.easeOut,100,bgAlpha,1,true);  
      }  

      // ===== ROTATE THE NEWS ===== 
      newsclip.onEnterFrame = function(){ 
       t++; 
       if(t>=timer){ 
        if(page<total-5){ 
         page++; 
         ypos-=80; 
         var HTween1:Tween = new Tween (newsclip,"_y",Strong.easeIn,newsclip._y,ypos,.5,true); 
         }else{ 
          page = 0; 
          ypos = 0; 
          var HTween1:Tween = new Tween (newsclip,"_y",Strong.easeIn,newsclip._y,ypos,.5,true); 
        } 
        t = 0; 
       } 

      } 
    } 
} 

答えて

0

どこでも変数とXMLオブジェクトとしてにMyXMLを定義していますか?

あなたのXML参照は、私が追加するとすぐに私のために(月を含む)動作します。 XMLをロードする前に配置する必要があります。

var myxml = new XML(); 
myxml.ignoreWhite = true; 
myxml.load("news.xml"); 
関連する問題