flash as3.0图片的加载

abirdtofly 2012-02-05 03:40:35
我想实现一堵墙,没堵墙都可动态的跟换图片!请帮忙!我是新手!最好给个例子!谢谢!
...全文
285 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinje 2012-02-07
  • 打赏
  • 举报
回复
在flash cs5中出现的3d的操作。界面上即可完成。
还有可以用as3中的3D旋转轴来倾斜。不过不如界面上控制那么简单。
abirdtofly 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 blueghostfire 的回复:]

思路:
主场景上一个 room 的 sprite
然后 在room中3-6个 wall 的 sprite, 分别设置他们的rotationX, rotationY, rotationZ
让他们排布成环形或6面体等.

调整好room初始位置

由主stage的mouseMove相对位置来改变room 的 rotationX, rotationY, rotationZ
就实现了基本……
[/Quote]
您有没有类似的例子!我真的很菜!感觉上你的思路很好!但是! 实现还是不太会!本来自己慢慢学没问题!主要是时间比较赶!所以才~我是不是有些得寸进尺了?嗨~身为编程者!还要求给源码!我晕了~
BlueGhostFire 2012-02-07
  • 打赏
  • 举报
回复
思路:
主场景上一个 room 的 sprite
然后 在room中3-6个 wall 的 sprite, 分别设置他们的rotationX, rotationY, rotationZ
让他们排布成环形或6面体等.

调整好room初始位置

由主stage的mouseMove相对位置来改变room 的 rotationX, rotationY, rotationZ
就实现了基本的浏览.

这一步ok了.就可以进一步来做wall上的物品了

这些物品就如 xinje 所说的加载就可以了.

当然这是最基本的和简单的实现,还有一些开源引擎也可以做这方面.
abirdtofly 2012-02-07
  • 打赏
  • 举报
回复
http://2010.tudou.com/3d-tudou/cinema.html这就是3D土豆影院,我就是想用flash实现这个效果!有办法吗?
abirdtofly 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xinje 的回复:]

在flash cs5中出现的3d的操作。界面上即可完成。
还有可以用as3中的3D旋转轴来倾斜。不过不如界面上控制那么简单。
[/Quote]
但是我实现“3面3D的墙,墙上挂着画,画是需要动态变化的,最好是能实现鼠标移到某堵墙时的画时,这堵墙获得更多的视野(其实就是IE9体验展那个3D土豆影院的效果)当然我需要粗糙的效果,基本有就好”
在此吐槽下!界面真不易!界面人员真辛苦!我是。net底层的!这次只是帮助别人!谢谢大家帮助
abirdtofly 2012-02-06
  • 打赏
  • 举报
回复
”是我又没想法了“!嗨!错别字还老多!最近压力过大
abirdtofly 2012-02-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xinje 的回复:]

是这样的,对于无法访问空对象,主要原因是:
1、没有对象
2、有对象,但是在执行代码时,还未实例化。
那么你的问题属于第二种。这样的问题在flash里比较常见。解决如下:
//在第一帧写入如下代码,这样确保已经开始运行和所有对象都构造完成时才执行相应的操作。
addEventListener(Event.ENTER_FRAME,init);
function init(e:Event……
[/Quote]
这个是对的!但是还有个问题就是有一些墙是斜的!我有想法了!我本来是做asp.net界面这块0基础!这次迫于无奈才帮别人做!还请大侠多多见谅!帮帮小弟!谢谢了
xinje 2012-02-05
  • 打赏
  • 举报
回复
是这样的,对于无法访问空对象,主要原因是:
1、没有对象
2、有对象,但是在执行代码时,还未实例化。
那么你的问题属于第二种。这样的问题在flash里比较常见。解决如下:
//在第一帧写入如下代码,这样确保已经开始运行和所有对象都构造完成时才执行相应的操作。
addEventListener(Event.ENTER_FRAME,init);
function init(e:Event)
{
removeEventListener(Event.ENTER_FRAME,init);
对象.setBmp("a.jpg");
}
abirdtofly 2012-02-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xinje 的回复:]

楼主的错别字还是不少啊~

首先,读取图片使用loader。
其次,每一堵墙都设置成一个元件,并命名。
最后,通过事件来动态读取外部图片。

把以下代码放在每一堵墙的元件里。
var loader:Loader = new Loader()
function setBmp(url:String)
{
loader.load(new URLRequest(url))
this……
[/Quote]
我照你的方法理解了下:新建了三个影片剪辑,并在每个影片剪辑的第一帧上写了
var loader:Loader = new Loader()
function setBmp(url:String)
{
loader.load(new URLRequest(url))
this.addChild(loader)
}
然后把三个影片剪辑拖到主场景里,命名实例名称为imgL,imgR,imgF
然后在主场景的第一帧写了
imgR.setBmp("dog1.jpg")
imgF.setBmp("dog1.jpg");
imgL.setBmp("dog1.jpg");
别的都没写!
结果出现了
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at war_fla::imgRight_1/setBmp()
at war_fla::MainTimeline/frame1()
这个错误!是不是要实例化什么!我是0基础!求大侠说的更清楚点!小弟谢过了!很急啊
abirdtofly 2012-02-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xinje 的回复:]

楼主的错别字还是不少啊~

首先,读取图片使用loader。
其次,每一堵墙都设置成一个元件,并命名。
最后,通过事件来动态读取外部图片。

把以下代码放在每一堵墙的元件里。
var loader:Loader = new Loader()
function setBmp(url:String)
{
loader.load(new URLRequest(url))
this……
[/Quote]
太急了!打错了!嘿嘿!我先试试!谢谢你的回复
xinje 2012-02-05
  • 打赏
  • 举报
回复
楼主的错别字还是不少啊~

首先,读取图片使用loader。
其次,每一堵墙都设置成一个元件,并命名。
最后,通过事件来动态读取外部图片。

把以下代码放在每一堵墙的元件里。
var loader:Loader = new Loader()
function setBmp(url:String)
{
loader.load(new URLRequest(url))
this.addChild(loader)
}

调用时如下:
墙对象.setBmp("图片的地址")

2,278

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧