当前在线人数11455
首页 - 分类讨论区 - 电脑网络 - 闪客一族版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
求助:实现一个基于XML的相册(出错了)
[版面:闪客一族][首篇作者:Leedward] , 2012年02月05日15:19:44 ,1749次阅读,11次回复
来APP回复,赚取更多伪币 关注本站公众号:
[分页:1 ]
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: Leedward (miao), 信区: Flash
标  题: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Sun Feb  5 15:19:44 2012, 美东)

实现一个基于XML的相册,在书上学,一步一步做出来,为什么没有效果,新手一个,
就是想从书上一步一步学起。谢谢。

这是XML的代码(一共5张图片,我做了一个img的文件夹)

<?xml version="1.0" encoding="UTF-8"?>
<channel>
<item>
<title>Webdesign Layout 01</title>
<category>web</category>
<pubDate>2012-02-01</pubDate>
<imgURL>img/000.jpg</imgURL>
<info>To provide customers a full range of branding services</info>
</item>
<item>
<title>Webdesign Layout 02</title>
<category>Post</category>
<pubDate>2012-02-01</pubDate>
<imgURL>img/001.jpg</imgURL>
<info>To provide customers a full range of branding services</info>
</item>
<item>
<title>Webdesign Layout 03</title>
<category>web</category>
<pubDate>2012-02-01</pubDate>
<imgURL>img/002.jpg</imgURL>
<info>To provide customers a full range of branding services</info>
</item>
<item>
<title>Webdesign Layout 04</title>
<category>Post</category>
<pubDate>2012-02-01</pubDate>
<imgURL>img/003.jpg</imgURL>
<info>To provide customers a full range of branding services</info>
</item>
<item>
<title>Webdesign Layout 05</title>
<category>web</category>
<pubDate>2012-02-01</pubDate>
<imgURL>img/004.jpg</imgURL>
<info>To provide customers a full range of branding services</info>

</item>
</channel>
然后按照书上写的建立了ImageGallery.as 。要把AS关联到flash中,又新建了一个
ImageGallery.fla文件,单击舞台空白区域,然后把文档类名称输入(类:
ImageGallery)我想这样就应该关联了吧。然后ctrl+Enter测试代码。出现报错
Line 80        1120: Access of undefined property TweenLite.

Line 88        1120: Access of undefined property TweenLite.

Line 93        1120: Access of undefined property TweenLite.

Line 9         1172: Definition gs:TweenLite could not be found.

我一切都是按照书上做的,不知道哪个步骤做错了。自学flash不容易啊,慢慢在版上
学习~~谢谢各位了。
这是ImageGallery.as,我觉得应该语句没问题,毕竟是按照书上一步一步写(虽然意
思不是很明白)可能是我少做了哪一步骤
见笑了~~
package {
        import flash.display.Loader;
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import XML;
        import flash.net.URLLoader;
        import flash.net.URLRequest
        import flash.events.Event;
        import gs.TweenLite        这个TweenLite是什么?书上没有教我做个着啊
,flash报错说找不到~~
        import flash.events.MouseEvent;

这一步我是导入所需的类

        public class ImageGallery extends Sprite {
                private var thumbURL:Array = new Array()
                private var originalURL:Array = new Array()
                private var titleArr:Array = new Array()
                private var length:Number = new Number()
                private var thumbArr:Array = new Array()
                private var sContainer:MovieClip;
                private var bContainer:MovieClip;
                public function ImageGallery(){
                        init()
                }

                private function init():void {

                        var myXML:XML = new XML();
                        var myXMLURL:URLRequest = new URLRequest("myXML.xml"
);
                        var myLoader:URLLoader = new URLLoader(myXMLURL);
                        myLoader.addEventListener("complete", xmlLoaded);

                        function xmlLoaded(event:Event):void {
                                myXML = XML(myLoader.data);
                                length = myXML.item.length()
                                for (var i:int = 0; i < length; i++){

                                        thumbURL.push(myXML.item.thumb)
                                        originalURL.push(myXML.item.original)
                                        titleArr.push(myXML.item.title)
                                }

                                imgLoader()
                        }

                }
当XML被载入,触发一个完整实践(后边的语句还没有看明白)

                private function imgLoader():void {
                        var count:Number = 0


                        for (var j:int = 0; j < length; j++){
                                var ldr:Loader = new Loader()
                                ldr.load(new URLRequest(thumbURL[j]))
                                ldr.contentLoaderInfo.addEventListener(Event
.COMPLETE, comHandler)
                                sContainer = new MovieClip()
                                addChild(sContainer)
                                sContainer.addChild(ldr)
                                sContainer.id = j
                                thumbArr.push(sContainer)
                               
                               
                                        function comHandler(e:Event):void {
                                count++
                                if (count == length){
                                        imgSort()
                                }
                        }
                }
                        }
使用一个for循环把数组内容读出来加入数组thumbArr里面

               

                private function imgSort():void {
                        bContainer = new MovieClip()
                        addChild(bContainer)
                        var dis:Number = 85
                        for (var k:int = 0; k < length; k++){
                                thumbArr[k].y = 700
                                thumbArr[k].x = dis * k
                                thumbArr[k].alpha = 0.6
                                TweenLite.to(thumbArr[k], 1, {x: dis * k, y:
520, delay: k * 0.1});
这里出错了
                                thumbArr[k].addEventListener(MouseEvent.ROLL
_OVER, overHandler)
                                thumbArr[k].addEventListener(MouseEvent.ROLL
_OUT, outHandler)
                                thumbArr[k].addEventListener(MouseEvent.
CLICK, clickHandler)
                        }

                        function overHandler(e:MouseEvent):void {

                                TweenLite.to(e.target, 0.3, {y: 510, alpha:
1});
                        }
这里也是

                        function outHandler(e:MouseEvent):void {

                                TweenLite.to(e.target, 0.3, {y: 520, alpha:
0.6});
                        }
当鼠标触碰缩略图是需要图片亮一下

                        function clickHandler(e:MouseEvent):void {

                                if (bContainer.numChildren > 0){

                                        bContainer.removeChildAt(0);
                                }

                                var ldr:Loader = new Loader()

                                ldr.load(new URLRequest(originalURL[e.
currentTarget.id]))
                                ldr.contentLoaderInfo.addEventListener(Event
.COMPLETE, comHandler)

                                bContainer.addChild(ldr)

                                function comHandler(e:Event):void {
                                        bContainer.x = stage.stageWidth / 2
- bContainer.width / 2
                                        bContainer.y = 50
                                }
                        }
                }

        }
}




--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 75.176.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Sun Feb  5 15:35:16 2012, 美东)

恩,不知道啊,买了一本书,在着照着书学呢~~我google看一下。
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 75.176.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 3 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Sun Feb  5 15:42:21 2012, 美东)

恩,不知道啊,买了一本书,在着照着书学呢~~我google看一下。
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 75.176.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 4 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Sun Feb  5 17:00:11 2012, 美东)

恩,导入了TweenLite.没有报错。但是flash白板了~~我是不是哪一步做错了??
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 75.176.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 5 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Sun Feb  5 17:10:27 2012, 美东)

好像是我XML写错了~~呵呵,改改~~
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 75.176.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 6 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Sun Feb  5 17:18:54 2012, 美东)

我把XML改了
<?xml version="1.0" encoding="UTF-8"?>
<channel>
<item>
<title>01</title>
<pubDate>2012-02-01</pubDate>
<thumb>thumb/001.jpg</thumb>
<original>original/001.jpg</original>
</item>
<item>
<title>02</title>
<pubDate>2012-02-01</pubDate>
<thumb>thumb/002.jpg</thumb>
<original>original/002.jpg</original>
</item>
<item>
<title>03</title>
<pubDate>2012-02-01</pubDate>
<thumb>thumb/003.jpg</thumb>
<original>original/003.jpg</original>
</item>
<item>
<title>04</title>
<pubDate>2012-02-01</pubDate>
<thumb>thumb/004.jpg</thumb>
<original>original/004.jpg</original>
</item>
<item>
<title>05</title>
<pubDate>2012-02-01</pubDate>
<thumb>thumb/005.jpg</thumb>
<original>original/005.jpg</original>
</item>
</channel>

--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 75.176.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 7 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Mon Feb  6 10:29:00 2012, 美东)

谢谢,没关系,我也是一点一点学起~~~谢谢
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 75.176.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 8 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Wed Feb  8 11:18:46 2012, 美东)

恩,我明白出错在哪里了~~山来更改一下
private function imgSort():void {
            bContainer = new MovieClip()
            addChild(bContainer)
            var dis:Number = 85
            for (var k:int = 0; k < length; k++){
                thumbArr[k].y = 700
                thumbArr[k].x = dis * k
                thumbArr[k].alpha = 0.6
               
这里的y坐标你设置成了520,在舞台之外了,所以眼睛看不到
TweenLite.to(thumbArr[k], 1, {x: dis * k, y: 520, delay: k * 0.1});
修改成0
TweenLite.to(thumbArr[k], 1, { x: dis * k, y: 0, delay: k * 0.1 } );
这样就好了
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 68.156.]

 
Leedward
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 9 ]

发信人: Leedward (miao), 信区: Flash
标  题: Re: 求助:实现一个基于XML的相册(出错了)
发信站: BBS 未名空间站 (Wed Feb  8 11:20:16 2012, 美东)

主要就是用到了TweenLite,是一个开源缓动的类库~~恩,最后多一句,对我来说太难了
~~~
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 68.156.]

[分页:1 ]
[快速返回] [ 进入闪客一族讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996