由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Flash版 - 求助:实现一个基于XML的相册(出错了)
相关主题
AS3传参数给loaded swf?question about AS3 setCursor
说起Flash--我的故事大家說說到底AS2還是AS3好用
罗尼,我还没有flash cs3怎么做gallery的翻页效果
共享几本Actionscript3电子书[急]包子求教,AS3 传参数给现成的 swf (有AS1 code,不能用)
essential as3use buttons to control several swf files
Power of Flash AS3请教FLASH网址问题
最近AS3有什么动静?问个preloader的问题
大家有没感觉flash快走进一个死胡同了说起Flash--我的故事2
相关话题的讨论汇总
话题: pubdate话题: thumbarr话题: var话题: imgurl话题: xml
进入Flash版参与讨论
1 (共1页)
L******d
发帖数: 611
1
实现一个基于XML的相册,在书上学,一步一步做出来,为什么没有效果,新手一个,
就是想从书上一步一步学起。谢谢。
这是XML的代码(一共5张图片,我做了一个img的文件夹)



Webdesign Layout 01
web
2012-02-01
img/000.jpg
To provide customers a full range of branding services


Webdesign Layout 02
Post
2012-02-01
img/001.jpg
To provide customers a full range of branding services


Webdesign Layout 03
web
2012-02-01
img/002.jpg
To provide customers a full range of branding services


Webdesign Layout 04
Post
2012-02-01
img/003.jpg
To provide customers a full range of branding services


Webdesign Layout 05
web
2012-02-01
img/004.jpg
To provide customers a full range of branding services


然后按照书上写的建立了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
}
}
}
}
}
r****y
发帖数: 26819
2
我已经很久没做as编程了。。。
顺便看了一下你的帖子
我选中gs.TweenLite, google了一下
http://www.greensock.com/tweenlite/
那么你的项目应该包括它的东西
要么是源代码,要么是编译好的swc。。。

【在 L******d 的大作中提到】
: 实现一个基于XML的相册,在书上学,一步一步做出来,为什么没有效果,新手一个,
: 就是想从书上一步一步学起。谢谢。
: 这是XML的代码(一共5张图片,我做了一个img的文件夹)
:
:
:
: Webdesign Layout 01
: web
: 2012-02-01
: img/000.jpg

L******d
发帖数: 611
3
恩,不知道啊,买了一本书,在着照着书学呢~~我google看一下。
L******d
发帖数: 611
4
恩,不知道啊,买了一本书,在着照着书学呢~~我google看一下。
r****y
发帖数: 26819
5
AS3的package类似java,如果有其它的编程基础就很容易上手。从as2走过来反而容易糊
涂。

【在 L******d 的大作中提到】
: 恩,不知道啊,买了一本书,在着照着书学呢~~我google看一下。
L******d
发帖数: 611
6
恩,导入了TweenLite.没有报错。但是flash白板了~~我是不是哪一步做错了??
L******d
发帖数: 611
7
好像是我XML写错了~~呵呵,改改~~
L******d
发帖数: 611
8
我把XML改了



01
2012-02-01
thumb/001.jpg
original/001.jpg


02
2012-02-01
thumb/002.jpg
original/002.jpg


03
2012-02-01
thumb/003.jpg
original/003.jpg


04
2012-02-01
thumb/004.jpg
original/004.jpg


05
2012-02-01
thumb/005.jpg
original/005.jpg

r****y
发帖数: 26819
9
抱歉,我没时间看代码
不过剩下的问题应该很简单
用flash builder设断点做调试
或者加输出 mx.controls.Alert.show()
查看哪一步出错了就应该差不多了

【在 L******d 的大作中提到】
: 我把XML改了
:
:
:
: 01
: 2012-02-01
: thumb/001.jpg
: original/001.jpg
:

:

L******d
发帖数: 611
10
谢谢,没关系,我也是一点一点学起~~~谢谢
L******d
发帖数: 611
11
恩,我明白出错在哪里了~~山来更改一下
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 } );
这样就好了
L******d
发帖数: 611
12
主要就是用到了TweenLite,是一个开源缓动的类库~~恩,最后多一句,对我来说太难了
~~~
1 (共1页)
进入Flash版参与讨论
相关主题
说起Flash--我的故事2essential as3
这里就说flash吗?Power of Flash AS3
最近做了个项目可以读取本地文件然后另存本地最近AS3有什么动静?
急问cue-points in streaming flv player大家有没感觉flash快走进一个死胡同了
AS3传参数给loaded swf?question about AS3 setCursor
说起Flash--我的故事大家說說到底AS2還是AS3好用
罗尼,我还没有flash cs3怎么做gallery的翻页效果
共享几本Actionscript3电子书[急]包子求教,AS3 传参数给现成的 swf (有AS1 code,不能用)
相关话题的讨论汇总
话题: pubdate话题: thumbarr话题: var话题: imgurl话题: xml