关于flash自适应屏幕100%和遮罩效果冲突的问题
时间:2011-01-25
来源:互联网
请各位前辈指教
我做了一个flash自适应屏幕的文件,本来是可以正常运行的,但是在动画里面使用了蒙版遮罩,发现影片播放就出现问题了
遮罩的地方,也判断为画布大小产生变化,每次变换图片的时候,自适应的位置也会跟着变化,请高手帮忙看一下代码,谢谢了
swf影片里面使用了遮罩,做图片的变换效果
源文件见附件...
代码如下
//影片的相对位置#####################
import asas.*;
Stage.scaleMode = "noScale";
onResize;
Stage.align = "LT";
var casSwfXY:casSwf = new casSwf();
_root.onEnterFrame = function() {
casSwfXY.setC(Stage.width, Stage.height, mcC);
casSwfXY.setD(Stage.width, Stage.height, mcD);
};
Swf.as代码如下
class asas.casSwf {
//设置下
function setD(numW:Number, numH:Number, _mc:MovieClip) {
_mc._x = (numW-_mc._width)/2;
_mc._y = numH-_mc._height;
}
//设置中
function setC(numW:Number, numH:Number, _mc:MovieClip) {
_mc._x = (numW-_mc._width)/2;
_mc._y = (numH-_mc._height)/2;
}
}
[ 本帖最后由 ataotao 于 2011-1-25 18:19 编辑 ]
求助flash自适应.rar (153 KB)
我做了一个flash自适应屏幕的文件,本来是可以正常运行的,但是在动画里面使用了蒙版遮罩,发现影片播放就出现问题了
遮罩的地方,也判断为画布大小产生变化,每次变换图片的时候,自适应的位置也会跟着变化,请高手帮忙看一下代码,谢谢了
swf影片里面使用了遮罩,做图片的变换效果
源文件见附件...
代码如下
//影片的相对位置#####################
import asas.*;
Stage.scaleMode = "noScale";
onResize;
Stage.align = "LT";
var casSwfXY:casSwf = new casSwf();
_root.onEnterFrame = function() {
casSwfXY.setC(Stage.width, Stage.height, mcC);
casSwfXY.setD(Stage.width, Stage.height, mcD);
};
Swf.as代码如下
class asas.casSwf {
//设置下
function setD(numW:Number, numH:Number, _mc:MovieClip) {
_mc._x = (numW-_mc._width)/2;
_mc._y = numH-_mc._height;
}
//设置中
function setC(numW:Number, numH:Number, _mc:MovieClip) {
_mc._x = (numW-_mc._width)/2;
_mc._y = (numH-_mc._height)/2;
}
}
[ 本帖最后由 ataotao 于 2011-1-25 18:19 编辑 ]
附件

2011-1-25 18:17, 下载次数: 4
作者: ataotao 发布时间: 2011-01-25
http://www.google.com.hk/search?q=resize%20flash023&hl=zh-CN&lr=lang_zh-CN&ie=UTF-8&oe=UTF-8&client=aff-cs-gosurf
复制内容到剪贴板
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.geom.Matrix;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
/**
* ...
* @author FLASH023
*/
public class Main extends Sprite {
private var loader:Loader;
private var bg:Bitmap ;
public function Main():void {
init();
}
private function init():void {
imgLoader ("image.jpg");
stage.align = "TL";
stage.scaleMode = "noScale";
stage.addEventListener (Event.RESIZE, onResize);
stage.addEventListener (Event.FULLSCREEN, onResize);
}
private function onResize(_evt:Event):void {
if (bg) {
bg.width = stage.stageWidth;
bg.height = stage.stageHeight;
}
}
private function imgLoader(_path:String ):void{
loader = new Loader;
loader.contentLoaderInfo .addEventListener (Event.COMPLETE , imageComplete);
loader.load(new URLRequest (_path));
}
private function imageComplete(_evt:Event):void{
bg = _evt.target.content as Bitmap;
onResize(null);
addChild (bg);
//-------------------
loader.contentLoaderInfo .removeEventListener (Event.COMPLETE , imageComplete);
loader = null;
}
}
}
复制代码如果是AS2:代码:
package{import flash.display.Bitmap;
import flash.display.Sprite;
import flash.geom.Matrix;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
/**
* ...
* @author FLASH023
*/
public class Main extends Sprite {
private var loader:Loader;
private var bg:Bitmap ;
public function Main():void {
init();
}
private function init():void {
imgLoader ("image.jpg");
stage.align = "TL";
stage.scaleMode = "noScale";
stage.addEventListener (Event.RESIZE, onResize);
stage.addEventListener (Event.FULLSCREEN, onResize);
}
private function onResize(_evt:Event):void {
if (bg) {
bg.width = stage.stageWidth;
bg.height = stage.stageHeight;
}
}
private function imgLoader(_path:String ):void{
loader = new Loader;
loader.contentLoaderInfo .addEventListener (Event.COMPLETE , imageComplete);
loader.load(new URLRequest (_path));
}
private function imageComplete(_evt:Event):void{
bg = _evt.target.content as Bitmap;
onResize(null);
addChild (bg);
//-------------------
loader.contentLoaderInfo .removeEventListener (Event.COMPLETE , imageComplete);
loader = null;
}
}
}
stage.align = "TL";
stage.scaleMode = "noScale";
stage.addEventListener (Event.RESIZE, onResize);
stage.addEventListener (Event.FULLSCREEN, onResize);
参照以上几行改写
同类型参考帖:
http://share.zcool.com.cn/archiver/?tid-71283.html
http://flash.9ria.com/thread-43626-1-1.html
http://flash.9ria.com/viewthread.php?tid=47626&rpid=423653&ordertype=0&page=1#pid423653
http://space.flash8.net/BBS/thread-381767-1-1.html
http://flash.9ria.com/archiver/tid-43626.html
http://flash.9ria.com/viewthread.php?tid=43626&rpid=408714&ordertype=0&page=1#pid408714
http://bbs.blueidea.com/viewthread.php?action=printable&tid=2969923
作者: flash023 发布时间: 2011-01-26
版大,我的问题和其他人的情况不太一样,呵呵,附件的文件能看到,自适应是可以使用,但是是和遮罩一起使用会出现问题

作者: ataotao 发布时间: 2011-01-26
作者: flash023 发布时间: 2011-01-26
这么简单的问题用得着使用外部类包吗?呵呵
//影片的相对位置#####################
Stage.scaleMode = "noScale";
onResize;
Stage.align = "LT";
var mcCoriW:Number = mcC._width;
var mcCoriH:Number = mcC._height;
var mcDoriW:Number = mcD._width;
var mcDoriH:Number = mcD._height;
var repos:Object = new Object();
repos.onResize = dorepos;
function dorepos() {
mcC._x = (Stage.width-mcCoriW)/2;
mcC._y = (Stage.height-mcCoriH)/2;
mcD._x = (Stage.width-mcDoriW)/2;
mcD._y = Stage.height-mcDoriH*2;
}
Stage.addListener(repos);
dorepos();
就这几行代码就行了
演示地址:
https://dl-web.dropbox.com/u/404 ... wfautofit/load.html
源文件下载地址:
https://dl-web.dropbox.com/u/404 ... swfautofit/load.fla
最后别忘记了进入图片元件把内部元件的_x从20改为0

//影片的相对位置#####################
Stage.scaleMode = "noScale";
onResize;
Stage.align = "LT";
var mcCoriW:Number = mcC._width;
var mcCoriH:Number = mcC._height;
var mcDoriW:Number = mcD._width;
var mcDoriH:Number = mcD._height;
var repos:Object = new Object();
repos.onResize = dorepos;
function dorepos() {
mcC._x = (Stage.width-mcCoriW)/2;
mcC._y = (Stage.height-mcCoriH)/2;
mcD._x = (Stage.width-mcDoriW)/2;
mcD._y = Stage.height-mcDoriH*2;
}
Stage.addListener(repos);
dorepos();
就这几行代码就行了
演示地址:
https://dl-web.dropbox.com/u/404 ... wfautofit/load.html
源文件下载地址:
https://dl-web.dropbox.com/u/404 ... swfautofit/load.fla
最后别忘记了进入图片元件把内部元件的_x从20改为0

作者: yypz 发布时间: 2011-01-26
谢谢版主和楼上的朋友指点,问题已经解决,继续学习中,非常感谢
作者: ataotao 发布时间: 2011-01-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28