佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 3690|回复: 10

flash怎么随浏览器窗口的缩放或拉伸而改变大小?

[复制链接]
发表于 17-3-2008 03:50 PM | 显示全部楼层 |阅读模式
我想问如何使插入网页里的flash随浏览器窗口的缩放或拉伸而按比例改变大小?

fscommand("allowscale", "true")只能应用在flash player的窗口而已,是吗?

如果是插入网页里的flash,使用以上代码就无效了。
那该如何解决我的问题呢??

急急急,我已经在google search了半天还是没有头绪(可能这个问题很容易解决而已),
希望各位高手能够为小弟指点迷津,感激不尽~
回复

使用道具 举报


ADVERTISEMENT

发表于 18-3-2008 01:59 AM | 显示全部楼层
原帖由 weekie 于 17-3-2008 03:50 PM 发表
我想问如何使插入网页里的flash随浏览器窗口的缩放或拉伸而按比例改变大小?

fscommand("allowscale", "true")只能应用在flash player的窗口而已,是吗?

如果是插入网页里的flash,使用以上代码就无效了。
那该 ...



選擇其中一個方式
1. 在你 publish settings 裡面可以設定 swf 的比率是根據百分比, 這樣瀏覽器更變大小的時候就會自動更動了
2. 在 html 的部分直接修改 Flash 標籤內的 width 和 height 為 100%
回复

使用道具 举报

 楼主| 发表于 19-3-2008 05:12 PM | 显示全部楼层
原帖由 super-tomato 于 18-3-2008 01:59 AM 发表

選擇其中一個方式
1. 在你 publish settings 裡面可以設定 swf 的比率是根據百分比, 這樣瀏覽器更變大小的時候就會自動更動了
2. 在 html 的部分直接修改 Flash 標籤內的 width 和 height 為 100%


谢谢帮忙~

不好意思,还想请教一个问题,参考以下网站:
http://www.flashpageflip.com/demos/free/
当缩小或拉伸浏览器窗口时,它中间的content自动更改大小,而上面和下面的button则保持不变,
请问这样的效果该如何做呢?
回复

使用道具 举报

 楼主| 发表于 1-4-2008 04:25 PM | 显示全部楼层
原帖由 weekie 于 19-3-2008 05:12 PM 发表


谢谢帮忙~

不好意思,还想请教一个问题,参考以下网站:
http://www.flashpageflip.com/demos/free/
当缩小或拉伸浏览器窗口时,它中间的content自动更改大小,而上面和下面的but ...


问题已经解决~
用一下的code

var Listener:Object = new Object();
Listener.onResize = function() {

Stage.scaleMode = "noScale";
Stage.align = "TL";
topbar._y = 0;
topbar._x = (Stage.width-topbar._width)/2
};
Stage.addListener(Listener);

topbar这个mc当改变显示窗口大小时依然居中置顶~

不会的可以研究看看~

[ 本帖最后由 weekie 于 2-4-2008 09:06 AM 编辑 ]
回复

使用道具 举报

发表于 1-4-2008 09:48 PM | 显示全部楼层
原帖由 super-tomato 于 18-3-2008 01:59 AM 发表



選擇其中一個方式
1. 在你 publish settings 裡面可以設定 swf 的比率是根據百分比, 這樣瀏覽器更變大小的時候就會自動更動了
2. 在 html 的部分直接修改 Flash 標籤內的 width 和 height 為 100%


请问我用了以上方法,可是四个角还有一点点空间,要如何消除那点空间????
回复

使用道具 举报

 楼主| 发表于 2-4-2008 09:11 AM | 显示全部楼层
原帖由 konayuki 于 1-4-2008 09:48 PM 发表


请问我用了以上方法,可是四个角还有一点点空间,要如何消除那点空间????


你是说用浏览器观看时有空间的吗?
在html文件里的<head></head>之间插入以下code即可:

<!--
body {
        margin-left: 0px;
        margin-top: 0px;
        margin-right: 0px;
        margin-bottom: 0px;
}
-->
</style>

[ 本帖最后由 weekie 于 2-4-2008 09:13 AM 编辑 ]
回复

使用道具 举报

Follow Us
发表于 2-4-2008 01:30 PM | 显示全部楼层

回复 6# weekie 的帖子

可以 了,谢谢你weekie.   请问如何在flash里的背景图片比例和浏览器窗口的缩放比例是一样的。整体的比例是一样当览器窗口放大或塑小。。参考网页http://www.freestitch.jp/
回复

使用道具 举报

 楼主| 发表于 4-4-2008 11:00 AM | 显示全部楼层
原帖由 konayuki 于 2-4-2008 01:30 PM 发表
可以 了,谢谢你weekie.   请问如何在flash里的背景图片比例和浏览器窗口的缩放比例是一样的。整体的比例是一样当览器窗口放大或塑小。。参考网页http://www.freestitch.jp/


这是我自己开这主题问的问题,现在你却倒问回我自己提出的问题,
我现在好像在自问自答~

----------------------------------------------------------

看回我上面贴的程式,

Stage.scaleMode = "noScale";
Stage.align = "TL";


上面两行程式是一定要放的,第二行的TL是Top Left,应该可以理解它的意思吧。

-------------------------------------

var Listener:Object = new Object();
Listener.onResize = function() {
}

上面的程式是用来侦查当你的Flash Player窗口(在浏览器里一样生效)改变大小时应该做什么function。

Stage.widthStage.height是用来获取当前Stage(也可以说是窗口吧?)的宽度和长度。

有了上面的函数,你就可以做你想做的东西了。

---------------------------------------
我的白痴做法是:

假设你preset的stage width是800,
而你置放在stage的背景mc的_xscale和_yscale是100,

以当你的Stage.Width = 800的时候,
你的background._xscale = 100而计算出:

background._xscale = 0.125*Stage.width;

因为background mc本来的_yscale也是100,所以:

background._yscale = background._xscale;

-----------------------------------------------

整个程式是:

Stage.scaleMode = "noScale";
Stage.align = "TL";
var Listener:Object = new Object();
Listener.onResize = function() {
     background._xscale = 0.125*Stage.width;
     background._yscale = background._xscale;
}
Stage.addListener(Listener);


有了以上程式,你的background mc应该可以随浏览器窗口的改变而按比例改变大小了吧~
可是background mc却没有居中是不是?
其实做法跟我之前发贴写如何让mc居中置顶一样,自己去想想怎样改吧,想不到再问~

注: Flash publish settings里的HTML dimensions必须改成percents - 100x100。

----------------------------------------------

小弟初涉AS不久,还未掌握AS更深入的技巧,所以也没资格开教学贴。
如以上教学有误导之嫌,请各位expert多多见谅~

[ 本帖最后由 weekie 于 4-4-2008 11:10 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 5-4-2008 10:43 AM | 显示全部楼层

回复 8# weekie 的帖子

不好意识,小弟还是个新手。请问如何计算出0.125*Stage.width;。 我不是很明白  {{当你的Stage.Width = 800的时候,
你的background._xscale = 100而计算出:background._xscale = 0.125*Stage.width;}}。谢谢
回复

使用道具 举报

发表于 5-4-2008 09:15 PM | 显示全部楼层
自己agak agak
因为background._xscale 一定要 = 100
如果你Stage.width = 800,
那么background._xscale = Stage.width / 8
                                       = 0.125*Stage.width
                                       = 0.125*800
                                       = 100
回复

使用道具 举报

发表于 5-5-2008 10:44 AM | 显示全部楼层
你要的是这种效果么??
http://www.agcargo.com.my/samplesite/main.html
给耐心等画面loading out。。。因为我还没加入loading animations

这个我就是要center stage的pixel 和positions不受browser resolutions影响。。
只有后面那天空背景会跟browser resolutions起互动。

[ 本帖最后由 Jacob_521 于 5-5-2008 10:51 AM 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 30-12-2025 01:15 PM , Processed in 0.147822 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表