毕业论文 论文提纲 论文写作 公文范例 教育论文 教育学论文 师范教育 学术论文     论文指导*
                     
 
   
   
   
   
           
 

当前位置:课件115学培吧(kj115.com)→flash网侠教程(助你成为顶尖课件高手)→系列文章

 
 
标题:Flash教程:加载图片按比例显示的实现方法
 
展示台

文章来源 作者:admin 密码:admin 整理:湖北金鹰

◇网侠教程栏目简介
    提供FLASH侠客教程和网页制作侠客教程,高手进阶教程。
    浏览过这些资源的还浏览过经典教程图文教程游戏开发教程等相关资源。

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

湖北金鹰课件吧

论文相关服务
 

 

好长时间没发东西了,放假了,什么事都不想做,懒惰呀!不好
大多数情况下加载的图片要不就是按统一尺寸修改为同样的长与宽,要不就不管外部图片大小导入后都统一缩放到同一长和宽;但有些时候可能需要保持原始图片的长宽比例进行显示,今天没事做了个简单的实例,因此没有加特效.只适合我等初学者.
代码如下:
stop();
//创建一个新的电影实例,用于侦听事件内的载体
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
//初始图片数
var i:Number = 1;
//图片的宽度与高度设置
var picWidth:Number = Stage.width-10;
var picHeigh:Number = Stage.height-10;
//存贮从导入的外部图片宽度与高度的数组
var outImgWidth:Array = new Array();
var outImgHeight:Array = new Array();
//创建一个侦听事件和对象,用于检查和导入外部图片的数据
var myMCL0:MovieClipLoader = new MovieClipLoader();
var myObject0:Object = new Object();
myObject0.onLoadError = function(target_mc:MovieClip) { //检查外部总图片数没有了时,导入并显示第一张图片
myMCL0.removeListener(myObject0);
i = 1;
myMCL.loadClip("imgs/1.jpg", mc);
};
myObject0.onLoadInit = function(target_mc:MovieClip) { // .............以下是关键语句部分............
//从外部导入的图片宽度与高度分别存贮到对应的数组中
outImgWidth.push(target_mc._width);
outImgHeight.push(target_mc._height);
//设定一个图片数从0开始计数,用于数组定位
var j:Number = Number(i-1);
//设定两个临时变量,存贮导入的图片原本的宽度与高度
var tempWidth:Number = outImgWidth[j];
var tempHeight:Number = outImgHeight[j];
var W_H:Number = Math.floor(tempHeight*picWidth/tempWidth);
var H_W:Number = Math.floor(tempWidth*picHeigh/tempHeight);
//如果导入的图片的原本宽度大于高度,同时宽度大于picWidth时
if (tempWidth>tempHeight && tempWidth>picWidth) {
//宽度大于高度时
//首先删除数组中最后一元素
outImgWidth.pop();
outImgHeight.pop();
//如果折算后的高度和宽度都小于显示高度时
if (W_H<picHeigh && W_H<picWidth) {
//再为数组增加一个元素,目的是修改数组使宽度和高度都符合显示要求
outImgWidth.push(picWidth);
outImgHeight.push(W_H);
//如果折算后的高度大于或等于显示高度时
} else {
//再为数组增加一个元素,目的是修改数组使宽度和高度都符合显示要求
outImgWidth.push(H_W);
outImgHeight.push(picHeigh);
}
}
//如果导入的图片原本的高度大于宽度,同时高度大于picHeigh时
if (tempHeight>tempWidth && tempHeight>picHeigh) {
//宽度小于高度时
//首先删除数组中最后一元素
outImgWidth.pop();
outImgHeight.pop();
//再为数组增加一个元素,目的是修改数组使宽度和高度都符合显示要求
outImgWidth.push(H_W);
outImgHeight.push(picHeigh);
}
//如果导入的图片原本的宽度等于高度,而且是等于或超过舞台上的那个像框尺寸时
if (tempWidth == tempHeight && tempWidth>=picWidth) {
//宽度等于高度时
//首先删除数组中最后一元素
outImgWidth.pop();
outImgHeight.pop();
//再为数组增加一个元素,目的是修改数组使宽度和高度都符合显示要求
outImgWidth.push(picHeigh);
outImgHeight.push(picHeigh);
}
i++;
myMCL0.loadClip("imgs/"+i+".jpg", mc);
};
myMCL0.loadClip("imgs/"+i+".jpg", mc); //导入外部图片
myMCL0.addListener(myObject0);
//
var myMCL:MovieClipLoader = new MovieClipLoader();
var myObject:Object = new Object();
myObject.onLoadInit = function(target:MovieClip) { //初始化图片尺寸和居中
var j:Number = Number(i-1);
target._width = outImgWidth[j];
target._height = outImgHeight[j];
target._x = Stage.width/2-target._width/2;
target._y = Stage.height/2-target._height/2;
};
myMCL.addListener(myObject);
var keyListener_obj:Object = new Object(); //侦听是否按左右方向键,更换图片
keyListener_obj.onKeyDown = function() {
switch (Key.getCode()) {
case Key.RIGHT :
i++;
if (i>=outImgWidth.length) {
i = outImgWidth.length;
}
myMCL.loadClip("imgs/"+i+".jpg", mc);
break;
case Key.LEFT :
i--;
if (i<=1) {
i = 1;
}
myMCL.loadClip("imgs/"+i+".jpg", mc);

};
Key.addListener(keyListener_obj);

 

 
课件115学培吧(湖北金鹰)欢迎您!永久免费服务网址:http://www.kj115.com
   
 

学员众多的FLASH课件学习基地,成万免费FLASH课件制作教程在线学习,还有免费内容课件教程、视频教程、课件技巧、课件探讨、课件欣赏、课件展示、实用教程、课件界面、课件脚本、课件游戏、课件下载、课件封面、课文内容图片、课文人物图片库、课件素材、图片素材、声音素材、动物素材、背景图片、背景资料、背景边框、课件顶栏图片素材、Dreamweaver教程、Dreamweaver网页课件教程、软件下载。承接学习和培训,承接课件订制,课件修改等所有课件相关服务。
本站主要业务:┃flash课件制作视频教程培训┃承接全国竞赛flash课件┃论文代写代发┃代办课件国家级获奖证书┃
联系:QQ:444860709 手机:13339817386


 
 

业务办理
鄂ICP备08005724号