今天有人问起这个问题,抽出晚上的一点时间,做了一个,时间紧难免有不足之处,如果发现bug,请以在贴出。
演示:
代码:
后端载入news.xml
如有问题请贴出,另外看你能不能做出一个v-scroll xml news,当前我这个可是个h-scroll xml news
演示:
代码:
代码:
//copyright by webstudio.com.cn 2005-4-7 system.useCodepage=true; Stage.scaleMode = "noscale"; // -- 绘制矩形 MovieClip.prototype.drawrect = function(pos_x, pos_y, w, h) { // -- this.px = pos_x; this.py = pos_y; this.an = w; this.al = h; // -- with (this) { beginFill(0xffffff, 20); moveTo(px, py); lineTo(px+an, py); lineTo(px+an, py+al); lineTo(px, py+al); lineTo(px, py); endFill(); } }; // -- 创建按扭点击事件 xmlBinding = function (xmlObj) { this = xmlObj; var xpos = 0; for (var i = 0; i<this.firstChild.childNodes.length; i++) { item = newsTiker_mc.attachMovie("tiker_mc", "tiker"+i, 100+i); item.texto.autoSize = true; item.texto.text = this.firstChild.childNodes[i].attributes.mytext; item.mylink = this.firstChild.childNodes[i].attributes.links; item.texto.setTextFormat(myFormat); item._x = xpos; xpos += item.texto.textWidth+20; // -- item.onRelease = function() { this.texto.textColor = 0x666666; // -- 点击打开链接 getURL(this.mylink, target="_blank"); }; // -- item.onRollOver = function() { this.texto.textColor = 0x000066; // -- 清除轮询停止移动 clearInterval(idInterval); }; // -- item.onRollOut = function() { this.texto.textColor = 0x333333; // -- 重新轮询,继续移动 idInterval = setInterval(scrollit, 10, this._parent); }; } }; // -- 滚动定义 scrollit = function (myclip) { myclip._x -= 1; updateAfterEvent(); // -- 点击测试 if (!myclip.hitTest(maskTiker)) { myclip._x = maskTiker._x+maskTiker._width; } }; // -- 格式化文本 myFormat = new TextFormat(); //myFormat.font = "harmony"; myFormat.size = 12; myFormat.color = 0x333333; // -- 载入xml myXML = new XML(); myXML.ignoreWhite = true; myXML.onLoad = function(succes) { if (succes) { xmlBinding(this); } else { trace("Error cannot load xml"); } }; myXML.load("news.xml"); // -- 创建遮罩 this.createEmptyMovieClip("maskTiker", this.getNextHighestDepth()); this.maskTiker.drawrect(newsTiker_mc._x, newsTiker_mc._y, 360, 20); newsTiker_mc.setMask(this.maskTiker); // -- 开始轮询 idInterval = setInterval(scrollit, 10, newsTiker_mc);
后端载入news.xml
如有问题请贴出,另外看你能不能做出一个v-scroll xml news,当前我这个可是个h-scroll xml news
上传的附件
flashxmlnews.rar (8.0 KB, 636次查看) |