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

当前位置:课件115学培吧(kj115.com)→FLASH课件游戏开发教程→文章系列

 
 
标题:flash8的游戏制作(地图篇)
 
展示台

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

◇游戏开发栏目简介
内容是FLASH课件游戏制作教程,适合开发课件游戏,增加课件的感染力,适合高手学习,基础学习者可以参加我站的游戏开发视频教程的学习是最佳之选。

其它教程文章还有网侠教程图文教程等。
学习过程中如果需要相关的软件下载,你可以到本站软件下载专区去看看。

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

论文相关服务
 

湖北金鹰课件吧

研究flash8制作mode7模式头大中.......抽空把以前的rpg引擎用flash8改了下.
下面先介绍下关于地图的制作(本文章适合与对tiles模式了解并对flash8有一定了解的人)
过去制作游戏的时候,经常会为了切割地图而浪费时间.经常会为了地图过大.拖动过于耗机而烦恼.现在这一切都不成问题了.只要你掌握flash8bitmapdata的基础运用既可.
这次改造后的地图采用导入整张地形图的方式,由as控制切割调用后生成整个map,再由flash切割调用给适当的场景.
效果如下(地图暂时采用随机模式,用方向键可控制地图的滚动.)
下面贴出代码:
importflash.display.BitmapData;
importflash.geom.*;
class_map{
vartimeline:MovieClip;
varmaps:Array;
varbg:MovieClip;
vartileBmd:BitmapData;
varmapBmd:BitmapData;
varbgBmd:BitmapData;
vartileStep:Number;
vartileCount:Number;
vartileRect:Rectangle;
varbgRect:Rectangle;
varwidth:Number;
varheight:Number;
varx:Number;
vary:Number;
function_map(timeline:MovieClip,linkId:String,maps:Array,tileStep:Number,width:Number,height:Number){
this.timeline=timeline;
this.width=width;
this.height=height;
this.x=0;
this.y=0;
timeline._x=(Stage.width-width)/2;
timeline._y=(Stage.height-height)/2;
bg=timeline.createEmptyMovieClip("bg",0);
this.maps=maps;
//地图tile范围
tileRect=newRectangle(0,0,tileStep,tileStep);
bgRect=newRectangle(0,0,width,height);
//创建地图元素
tileBmd=BitmapData.loadBitmap(linkId);
this.tileStep=tileStep;
tileCount=tileBmd.width/tileStep;
//建立地图
build();
}
functionbuild(){
mapBmd=newBitmapData(maps[0].length*tileStep,maps.length*tileStep,false,0);
for(vary=0;y<maps.length;y++){
for(varx=0;x<maps[0].length;x++){
attach(0,x*tileStep,y*tileStep);
if(maps[y][x]<>0){
attach(maps[y][x],x*tileStep,y*tileStep);
}
}
}
bgBmd=newBitmapData(width,height,false,0);
bg.attachBitmap(bgBmd,0);
bgBmd.copyPixels(mapBmd,bgBmd.rectangle,newPoint(0,0));
}
functionattach(id:Number,x:Number,y:Number){
varrect:Rectangle=tileRect.clone();
rect.y=Math.floor(id/tileCount)*tileStep;
rect.x=id%tileCount*tileStep;
mapBmd.copyPixels(tileBmd,rect,newPoint(x,y));
}
functionscroll(){
x=x<0?0:(x>(mapBmd.width-width)?(mapBmd.width-width):x);
y=y<0?0:(y>(mapBmd.height-height)?(mapBmd.height-height):y);
bgRect.x=x;
bgRect.y=y;
bgBmd.copyPixels(mapBmd,bgRect,newPoint(0,0));
}
}

总体感觉.效率提高很大.无论画面如何放大,一样能保持流畅的滚动.
这个方法不单适用与tiles模式,如果你是整图把地形图转为map的过程省略掉即可.

 

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

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


 
 

业务办理
鄂ICP备08005724号