版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多媒体技术实验报告江苏科技大学多媒体技术考核报告1(201771/20188学年第11期学期))课程名称:多媒体技术指导教师:景国良实验地点:东校区外训楼软件工程实验室学生姓名:谢卉学生学号:1477965899院院系:计算机学院专专业:计算机科学与技术专业考核得分:20__年11月日实验一多媒体图像文件转换一、实验目的1.掌握多媒体静态图像的基本概念,技术与获取过程。2.掌握多媒体图像文件基本格式种类。3.掌握不同图像文件的数据结构形式,了解不同格式图像文件的具体类型区别。4.运用高级语言编程实现不同图像文件类型的相互转换。二、实验环境1、主流操作系统;2、高级语言编程环境。三、实验内容1、编写程序实现主流图像文件格式之间的相互转换;2、至少要实现JPG、BMP、GIF、PNG图像文件之间的转换;3、编程语言不限;4、根据实验内容撰写对应的实验报告。四、设计方案ImageIO类的静态方法可以执行许多常见的图像I/O操作。此包包含一些基本类与接口,有的用来描述图像文件内容(包括元数据与缩略图)(IIOImage);有的用来控制图像读取过程(ImageReader、ImageReadParam与ImageTypeSpecifier)与控制图像写入过程(ImageWriter与ImageWriteParam);还有的用来执行格式之间的代码转换(ImageTranscoder)与报告错误(IIOE_ception)。可处理图像格式有:jpg,BMP,bmp,JPG,wbmp,jpeg,png,PNG,JPEG,WBMP,GIF,gif。另外在加一些输入代码可实现简单的格式转换选择。五、实验代码importjava_、imageio、ImageIO;importjava、awt、image、BufferedImage;importjava、io、File;importjava、io、;importjava、io、IOE_ception;importjava、io、OutputStream;importjava、util、Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System、in);System、out、println(“”请输入需要转换的格式[jpg,bmp,png,gif]:“);=newFile(”/Users/14779/Desktop/1、jpg“);//将图片写入ImageIO流try{BufferedImageimg=ImageIO、read(out);//将图片写出到指定位置(复制图片)switch(scan、ne_t){case”png“:case”PNG“:OutputStreamops=new(nnewFile(”/Users/14779/Desktop/1(1)、png“));ImageIO、write(img,”png“,ops);System、out、println(”“转换完成!”“);break;case”jpg“:case”JPG“:ops=new(newFile(”/Users/14779/Desktop/1(1)、jpg“));ImageIO、write(img,”jpg“,ops);System、out、println(”“转换完成!”“);break;case”bmp“:case”BMP“:ops=new(newFile(”/Users/14779/Desktop/1(1)、bmp“));ImageIO、write(img,”bmp“,ops);System、out、println(”“转换完成!”“);break;case”GIF“:case”gif“:ops=new(newFile(”/Users/14779/Desktop/1(1)、gif“));ImageIO、write(img,”gif“,ops);System、out、println(”“转换完成!”“);break;default:System、out、println(”“请输入正确格式!”“);break;}}catch(IOE_ceptione){e、printStackTrace;}}}实验截图六、实验过程中的问题及对应思考ImageIO就是一个封装好的图像输入输出类,使用ImageIO类的静态方法可以执行许多常见的图像I/O操作。我将图片路径事先写好放入程序里,可以通过键入转换格式来达到想要转换到的格式,为了避免键入出错,我将主程序写在try函数中。实验二多媒体图像文件压缩一、实验目的1、了解各种图像文件格式之间的存储方法与方式,了解其编码的组织方式;2、掌握运用高级编程语言编写多媒体应用程序的方法;3、运用高级编程语言实现对多媒体图像文件的压缩的方法。二、实验环境1、主流操作系统;2、高级语言编程环境。三、实验内容1、使用高级编程语言编写良好的运行界面;2、运用高级编程语言编写核心代码实现对图像文件的压缩;3、了解压缩过程中的顺进与累进方法的运用提高压缩比;4、合理的考虑压缩算法压缩与解压的速度平衡;5、编程语言不限;6、根据实验内容撰写对应的实验报告。四、设计方案使用OimagioIO的对图片的压缩处理来进行此项实验。五、实验代码package、pany;importjava_、imageio、ImageIO;importjava、awt、_;importjava、awt、image、BufferedImage;importjava、io、File;importjava、io、IOE_ception;publicclassMain{publicstaticvoidmain(String[]args){pressPicDemomypic=newpressPicDemo;System、out、println(”“输入的图片大小:”+mypic、getPicSize(“C:\\\\Users\\\\14779\\\\Desktop\\\\22、jpg”)/1024+“KB”);mypic、pressPic(“C:\\\\Users\\\\14779\\\\Desktop”,“C:\\\\Users\\\\14779\\\\Desktop”,“2、jpg”,“2(2)、jpg”,120,120,false);}}classpressPicDemo{private=null;//文件对象privateStringinputDir;//输入图路径privateStringoutputDir;//输出图路径privateStringinput;//输入图文件名privateStringoutput;//输出图文件名privateintoutputWidth=100;//默认输出图片宽privateintoutputHeight=100;//默认输出图片高privatebooleanproportion=true;//就是否等比缩放标记(默认为等比缩放)publicpressPicDemo{//初始化变量inputDir=“”;outputDir=“”;input=“”;output=“”;outputWidth=100;outputHeight=100;}publicvoidsetInputDir(StringinputDir){this、inputDir=inputDir;}publicvoidsetOutputDir(StringoutputDir){this、outputDir=outputDir;}publicvoidsetInput(Stringinput){this、input=input;}publicvoidsetOutput(Stringoutput){this、output=output;}publicvoidsetOutputWidth(intoutputWidth){this、outputWidth=outputWidth;}publicvoidsetOutputHeight(intoutputHeight){this、outputHeight=outputHeight;}publicvoidsetWidthAndHeight(intwidth,intheight){this、outputWidth=width;this、outputHeight=height;}/__获得图片大小_传入参数Stringpath:图片路径_/publiclonggetPicSize(Stringpath){file=new);return;}//图片处理publicStringpressPic{try{//获得源文件file=new+input);if(!){return“”;}Imageimg=ImageIO、read(file);//判断图片格式就是否正确if(img、getWidth(null)==-1){System、out、println(“can"tread,retry!”+“<BR>”);return“no”;}else{intnewWidth;intnewHeight;//判断就是否就是等比缩放if(this、proportion==true){//为等比缩放计算输出的图片宽度及高度doublerate1=((double)img、getWidth(null))/(double)outputWidth+0、1;doublerate2=((double)img、getHeight(null))/(double)outputHeight+0、1;//根据缩放比率大的进行缩放控制doublerate=rate1>rate2?rate1:rate2;newWidth=(int)(((double)img、getWidth(null))/rate);newHeight=(int)(((double)img、getHeight(null))/rate);}else{newWidth=img、getWidth(null);//输出的图片宽度newHeight=img、getHeight(null);//输出的图片高度}BufferedImagetag=newBufferedImage((int)newWidth,(int)newHeight,BufferedImage、TYPE_INT_RGB);/__Image、SCALE_SMOOTH的缩略算法生成缩略图片的平滑度的_优先级比速度高生成的图片质量比较好但速度慢_/tag、getGraphics、drawImage(img、getScaledInstance(newWidth,newHeight,Image、SCALE_SMOOTH),0,0,null);StringformatName=(outputDir+output)、substring((outputDir+output)、lastInde_Of(“”、“”)+1);//out=new(outputDir+output);////JPEGImageEncoder可适用于其她图片类型的转换//JPEGImageEncoderencoder=JPEGCodec、createJPEGEncoder(out);//encoder、encode(tag);ImageIO、write(tag,formatName,new+output));//out、close;}}catch(IOE_ceptione_){e_、printStackTrace;}return“ok”;}publicStringpressPic(StringinputDir,StringoutputDir,Stringinput,Stringoutput){//输入图路径this、inputDir=inputDir;//输出图路径this、outputDir=outputDir;//输入图文件名this、input=input;//输出图文件名this、output=output;returnpressPic;}publicStringpressPic(StringinputDir,StringoutputDir,Stringinput,Stringoutput,intwidth,intheight,booleangp){//输入图路径this、inputDir=inputDir;//输出图路径this、outputDir=outputDir;//输入图文件名this、input=input;//输出图文件名this、output=output;//设置图片长宽setWidthAndHeight(width,height);//就是否就是等比缩放标记this、proportion=gp;returnpressPic;}}六、实验过程中的问题及对应思考实验中出现了找不到输出文件的问题,后考虑到可能就是文件大小关系,所以换了一个小一些的图片,完成实验实验三超媒体开发设计一、实验目的1、熟悉超文本与超文本系统的建立与典型的外部模型;2、熟练的运用超文本标记语言的标记方法展示超媒体;3、通过运用超文本标记语言熟悉结点与链之间形成的超媒体结构。二、实验环境1、主流操作系统系统;2、主流浏览器;3、系统有文本编辑器与网站开发工具。三、实验内容1、运用超文本标识语言与可扩展语言架构Web站点的基本框架;2、练习超文本标识语言进行超媒体站点架构时的合理布局及技巧;3、Web站点主题内容不限,但必须要有一明确主题体现超媒体;4、可以用记事本编写实验代码;5、根据实验内容撰写对应的实验报告;6、回答老师的对应考核提问。四、设计方案使用canvas做出一个H5小游戏主要需要实现大鱼吃果实大鱼喂小鱼小鱼恢复体力还有一定的场景与界面的五、实验代码Inde_、<!DOCTYPE><lang=“en”><head><metacharset=“UTF-8”><title>lovefish</title><linkrel=“stylesheet”href=“css/main、css”></head><body><divid=“Tips”><h3>游戏规则</h3><鼠标控制大鱼吃果实<br>吃到果实后喂给小鱼<br>若无及时投喂则小鱼死亡<br>红色果实1分<br>蓝色果实两分</<divid=“btn”><buttononclick=“init”>RESTART</button></div></div><divclass=“all_bg”><divid=“allcanvas”><canvasid=“canvas1”width=“800”height=“600”></canvas><canvasid=“canvas2”width=“800”height=“600”></canvas></div></div><scripttype=“te_t/javascript”src=“js/main、js”></script><scripttype=“te_t/javascript”src=“js/monFunctions、js”></script><scripttype=“te_t/javascript”src=“js/background、js”></script><scripttype=“te_t/javascript”src=“js/ane、js”></script><scripttype=“te_t/javascript”src=“js/fruit、js”></script><scripttype=“te_t/javascript”src=“js/mom、js”></script><scripttype=“te_t/javascript”src=“js/collision、js”></script><scripttype=“te_t/javascript”src=“js/baby、js”></script><scripttype=“te_t/javascript”src=“js/data、js”></script><scripttype=“te_t/javascript”src=“js/wave、js”></script><scripttype=“te_t/javascript”src=“js/halo、js”></script><scripttype=“te_t/javascript”src=“js/UI、js”></script></body></>Ane、jsvaraneObj=function{this、root_=[];this、head_=[];this、heady=[];this、=[];this、alpha=0;this、num=50;}//初始化aneObj、prototype、init=function{for(vari=0;i<this、num;i++){this、root_[i]=i_20+Math、random_20;this、head_[i]=this、root_[i];this、heady[i]=canHeight-20__+Math、random_50;this、[i]=Math、random_50+50;}};//绘制海葵aneObj、prototype、draw=function{this、alpha+=deltaTime_0、001;varl=Math、sin(this、alpha);//ct_2、save;ct_2、globalAlpha=0、6;ct_2、strokeStyle=“#3b154e”;ct_2、lineWidth=20;ct_2、lineCap=“round”;for(vari=0;i<this、num;i++){//ct_2、beginPath;ct_2、moveTo(this、root_[i],canHeight);ct_2、quadraticCurveTo(this、root_[i],canHeight-80,this、head_[i]+l_this、[i],this、heady[i]);ct_2、stroke;}ct_2、restore;};Baby、jsvarbabyObj=function{this、_;this、y;this、angle;//this、babyEye=newImage;//this、babyBody=newImage;//this、babyTail=newImage;//this、babyTail=[];//尾巴数组//this、babyEye=[];//眼睛数组this、babyTailTimer=0;//计时器this、babyTailCount=0;//现在执行到哪一帧this、babyEyeTimer=0;//计时器this、babyEyeCount=0;//现在执行到哪一帧this、babyBodyTimer=0;//计时器this、babyBodyCount=0;//现在执行到哪一帧this、babyEyeInterval;//这张图片持续多久}babyObj、prototype、init=function{this、_=canWidth_0、5-50;this、y=canHeight_0、5+50;this、angle=0;//console、log(this、y);for(vari=0;i<8;i++)//初始化小鱼尾巴数组{babyTail[i]=newImage;babyTail[i]、src=“、/img/babyTail”+i+“、png”;}for(vari=0;i<2;i++){babyEye[i]=newImage;babyEye[i]、src=“、/img/babyEye”+i+“、png”;}for(vari=0;i<20;i++){babyBody[i]=newImage;babyBody[i]、src=“、/img/babyFade”+i+“、png”;}//this、babyBody、src=“、/img/babyFade0、png”;//this、babyEye、src=“、/img/babyEye0、png”;//this、babyTail、src=“、/img/babyTail0、png”;}babyObj、prototype、draw=function{this、_=lerpDistance(mom、_,this、_,0、98);//大鱼的坐标跟随鼠标坐标变化this、y=lerpDistance(mom、y,this、y,0、98);//算大鱼跟鼠标的角度vardeltaY=mom、y-this、y;vardelta_=mom、_-this、_;varbeta=Math、atan2(deltaY,delta_)+Math、PI//-PIPI;this、angle=lerpAngle(beta,this、angle,0、6);//计数this、babyTailTimer+=deltaTime;if(this、babyTailTimer>50){this、babyTailCount=(this、babyTailCount+1)%8;this、babyTailTimer%=50;//}this、babyEyeTimer+=deltaTime;if(this、babyEyeCount==0){this、babyEyeInterval=Math、random_1500+20__0;//如果睁着眼睛的状态为1500-20__0}else{this、babyEyeInterval=20__;//闭眼状态默认20__ms}if(this、babyEyeTimer>this、babyEyeInterval){this、babyEyeCount=(this、babyEyeCount+1)%2;//取模实现循环this、babyEyeTimer%=this、babyEyeInterval;//}this、babyBodyTimer+=deltaTime;if(this、babyBodyTimer>300){this、babyBodyCount=this、babyBodyCount+1;this、babyBodyTimer%=300;if(this、babyBodyCount>19){this、babyBodyCount=19;data、gameOver=true;}}ct_1、save;//属性仅适用于小鱼ct_1、translate(this、_,this、y);//指定相对原点值ct_1、rotate(this、angle);varbabyTailCount=this、babyTailCount;ct_1、drawImage(babyTail[babyTailCount],-babyTail[babyTailCount]、width_0、5+23,-babyTail[babyTailCount]、height_0、5);varbabyBodyCount=this、babyBodyCount;ct_1、drawImage(babyBody[babyBodyCount],-babyBody[babyBodyCount]、width_0、5,-babyBody[babyBodyCount]、height_0、5);varbabyEyeCount=this、babyEyeCount;ct_1、drawImage(babyEye[babyEyeCount],-babyEye[babyEyeCount]、width_0、5,-babyEye[babyEyeCount]、height_0、5);ct_1、restore;}Background、jsfunctiondrawBackground{ct_2、drawImage(bgPic,0,0,canWidth,canHeight);}Collision、js//碰撞检测//判断大鱼与果实的距离functionmomFruitsCollision{if(data、gameOver){return;}for(vari=0;i<fruit、num;i++){if(fruit、alive[i]){//距离的平方varl=calLength2(fruit、_[i],fruit、y[i],mom、_,mom、y);if(l<900){fruit、dead(i);data、fruitNum++;mom、momBodyCount++;if(mom、momBodyCount>7){mom、momBodyCount=7;}//console、log(data、fruitNum);elseif(fruit、fruitType[i]==“blue”){data、double=2;}else{data、double=1;}wave、born(fruit、_[i],fruit、y[i]);//console、log(mom、momBodyCount);}}}}functionmomBabyCollision{if(data、fruitNum>0;;!data、gameOver){varl=calLength2(mom、_,mom、y,baby、_,baby、y);if(l<900){baby、babyBodyCount=0;//data、reset;mom、momBodyCount=0;data、addScore;halo、born(baby、_,baby、y);//varA=1;//A++;}//console、log(A);}}Data、jsvardataObj=function{this、fruitNum=0;//果实数量this、double=1;//就是否吃到蓝色果实【当前数量果实翻倍】this、score=0;this、gameOver=false;this、alpha=0;}dataObj、prototype、reset=function{this、fruiNum=0;this、double=1;}dataObj、prototype、draw=function{varw=can1、width;varh=can1、height;ct_1、save;ct_1、fillStyle=“white”;ct_1、font=“20p_Verdana”;ct_1、te_tAlign=“center”;//ct_1、fillTe_t(“num:”+this、fruitNum,w_0、5,h-50);//ct_1、fillTe_t(“double:”+this、double,w_0、5,h-80);ct_1、shadowBlur=10;//边沿模糊ct_1、shadowColor=“white”;//阴影颜色ct_1、fillTe_t(“score:”+this、score,w_0、5,h-80);if(this、gameOver)//如果游戏结束,显示gameover{this、alpha+=deltaTime_0、0005;//透明到不透明渐变if(this、alpha>1){this、alpha=1;}ct_1、fillStyle=“rgba(255,255,255,”+this、alpha+“)”;//添加样式的颜色白色+alphact_1、fillTe_t(“GAMEOVER”,w_0、5,h_0、5);}ct_1、restore;}dataObj、prototype、addScore=function{this、score+=this、fruitNum_this、double;this、fruitNum=0;this、double=1;}Fruit、jsvarfruitObj=function{this、alive=[];//boolthis、_=[];//this、y=[];//this、l=[];//图片长度this、spd=[];//速度this、fruitType=[];//分辨果实类型this、orange=newImage;this、blue=newImage;//果实形态2}fruitObj、prototype、num=30;fruitObj、prototype、init=function{for(vari=0;i<this、num;i++){this、alive[i]=false;//初始化果实为激活状态this、_[i]=0;this、y[i]=0;this、spd[i]=Math、random_0、017+0、003;//随机生成速度在[0、003,0、02]之间this、fruitType[i]=0;this、born(i);//console、log(this、y[i]);}this、orange、src=“、/img/fruit、png”;this、blue、src=“、/img/blue、png”;//console、log(“初始化执行”);}fruitObj、prototype、draw=function{//画果实for(vari=0;i<this、num;i++){if(this、alive[i]){if(this、fruitType[i]==“blue”){varpic=this、blue;}else{varpic=this、orange;}if(this、l[i]<=15)//判断成熟{this、l[i]+=this、spd[i]_deltaTime;//循环变大}else{this、y[i]-=this、spd[i]_5_deltaTime;//当成熟,y坐标上移(果实上漂)}ct_2、drawImage(pic,this、_[i]-this、l[i]_0、5,this、y[i]-this、l[i]_0、5,this、l[i],this、l[i]);if(this、y[i]<10)//当果实飘出屏外时置果实为无任务{this、alive[i]=false;}}}//console、log(“画果实执行”);}fruitObj、prototype、born=function(i){//果实坐标依附在海葵上varaneID=Math、floor(Math、random_ane、num);this、_[i]=ane、head_[aneID];this、y[i]=ane、heady[aneID];this、l[i]=0;//长度从0开始this、alive[i]=true;varran=Math、random;//随机数随机决定蓝色与黄色果实if(ran<0、3){this、fruitType[i]=“blue”;}else{this、fruitType[i]=“orange”;}//console、log(“果实出生执行”);//console、log(canHeight)}fruitObj、prototype、dead=function(i)//消失{this、alive[i]=false;}functionfruitMonitor{//保证屏幕中至少有15个果实varnum=0;for(vari=0;i<fruit、num;i++){if(fruit、alive[i]){num++;}if(num<15)//如果活跃的果实小于15,则送入新的果实{sendFruit;return;}}}functionsendFruit//送果实{for(vari=0;i<fruit、num;i++){if(!fruit、alive[i]){fruit、born(i);return;}}}Halo、jsvarhaloObj=function{this、_=[];this、y=[];this、alive=[];//状态this、r=[];//半径}haloObj、prototype、num=10;//池haloObj、prototype、init=function{for(vari=0;i<this、num;i++){this、alive[i]=false;this、r[i]=0;}}haloObj、prototype、draw=function{for(vari=0;i<this、num;i++){ct_1、savect_1、linWidth=4;ct_1、shadowBlur=10;ct_1、shadowColor=“orange”;if(this、alive[i])//若它就是死的,则可以拿来用{this、r[i]+=deltaTime_0、03;if(this、r[i]>50){this、alive[i]=false;}varalpha=1-this、r[i]/50;ct_1、beginPath;ct_1、arc(this、_[i],this、y[i],this、r[i],0,2_Math、PI);ct_1、closePath;ct_1、strokeStyle=“rgba(237,109,0,”+alpha+“)”;//添加样式的颜色白色+alphact_1、stroke;}ct_1、restore;}}haloObj、prototype、born=function(_,y){for(vari=0;i<this、num;i++){if(!this、alive[i])//若它就是死的,则可以出生{this、alive[i]=true;//更改状态this、r[i]=10;//半径this、_[i]=_;this、y[i]=y;return;//出生之后跳出来}}}Main、jsvarcan1;varcan2;varct_1;varct_2;varcanWidth;varcanHeight;varlastTime;vardeltaTime;varbgPic=newImage;varane;//海葵varfruit;//果实varmom//大鱼varbaby;varbabyTail=[];//尾巴数组varbabyEye=[];//眼睛数组varbabyBody=[];//身体数组varbigTail=[];varbigEye=[];//眼睛数组vardata;varwave;varhalo;varmomBodyOra=[];varmomBodyBlue=[];document、body、onload=game;functiongame{lastTime=Date、now;deltaTime=0;init;gameloop;}functioninit//初始化工作{//获得canvasconte_tcan1=document、getElementById(“canvas1”);ct_1=can1、getConte_t("2d");can2=document、getElementById(“canvas2”);can1、addEventListener("mousemove",onMouseMove,false);ct_2=can2、getConte_t("2d");bgPic、src=“、/img/background、jpg”;canWidth=can1、width;canHeight=can1、height;ane=newaneObj;ane、init;fruit=newfruitObj;fruit、init;data=newdataObj;mom=newmomObj;mom、init;baby=newbabyObj;baby、init;//data、init;m_=canWidth_0、5;my=canHeight_0、5;wave=newwaveObj;wave、init;halo=newhaloObj;halo、init;}functiongameloop{window、requestAnimFrame(gameloop);varnow=Date、now;deltaTime=now-lastTime;lastTime=now;if(deltaTime>50){deltaTime=50;}//切屏控制果实大小bgPic、onload=function{ct_2、drawImage(bgPic,0,0,canWidth,canHeight);};drawBackground;ane、draw;fruitMonitor;fruit、draw;ct_1、clearRect(0,0,canWidth,canHeight);//00到canva对角线清除画布mom、draw;baby、draw;momFruitsCollision;//大鱼果实碰撞检测momBabyCollision;//大鱼小鱼碰撞检测data、draw;wave、draw;halo、draw;}functiononMouseMove(e)//获取鼠标坐标{if(data、gameOver){return}//如果游戏结束则不可控制鼠标elseif(e、offSet_||e、layer_){m_=e、offSet_==undefined?e、layer_:e、offSet_;my=e、offSetY==undefined?e、layerY:e、offSetY;}}Mom、jsvarmomObj=function//大鱼类{this、_;this、y;this、angle;this、bigEye=newImage;this、bigBody=newImage;this、bigTail=newImage;this、bigTailTimer=0;//计时器this、bigTailCount=0;//现在执行到哪一帧this、bigEyeTimer=0;//计时器this、bigEyeCount=0;//现在执行到哪一帧this、bigEyeInterval=1000;//这张图片持续多久this、momBodyCount=0;}momObj、prototype、init=function//初始化{this、_=canWidth_0、5;this、y=canHeight_0、5;this、angle=0;for(vari=0;i<8;i++)//初始化大鱼尾巴数组{bigTail[i]=newImage;bigTail[i]、src=“、/img/bigTail”+i+“、png”;}for(vari=0;i<2;i++){bigEye[i]=newImage;bigEye[i]、src=“、/img/bigEye”+i+“、png”;}for(vari=0;i<8;i++){momBodyBlue[i]=newImage;momBodyOra[i]=newImage;momBodyBlue[i]、src=“、/img/bigSwimBlue”+i+“、png”;momBodyOra[i]、src=“、/img/bigSwim”+i+“、png”;}//this、bigEye、src=“、/img/bigEye0、png”;//this、bigBody、src=“、/img/bigSwim0、png”;//this、bigTail、src=“、/img/bigTail0、png”;}momObj、prototype、draw=function{this、_=lerpDistance(m_,this、_,0、98);//大鱼的坐标跟随鼠标坐标变化this、y=lerpDistance(my,this、y,0、98);//算大鱼跟鼠标的角度vardeltaY=my-this、y;vardelta_=m_-this、_;varbeta=Math、atan2(deltaY,delta_)+Math、PI//-PIPI;this、angle=lerpAngle(beta,this、angle,0、2);this、bigTailTimer+=deltaTime;if(this、bigTailTimer>50){this、bigTailCount=(this、bigTailCount+1)%8;this、bigTailTimer%=50;//}t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年益阳市第一中医医院医护人员招聘笔试备考题库及答案详解
- 2026年黑龙江省农垦牡丹江管理局中心医院医护人员招聘笔试参考试题及答案详解
- 2026年铜陵市人民医院医护人员招聘考试参考试题及答案详解
- 2026年邵阳市中西医结合医院医护人员招聘笔试备考题库及答案详解
- 2026年江门市中心医院医护人员招聘笔试备考试题及答案详解
- 2026年兰州第一人民医院医护人员招聘考试参考题库及答案详解
- 2026年怒江州人民医院医护人员招聘考试参考试题及答案详解
- 2026年衡阳市中医医院医护人员招聘考试备考试题及答案详解
- 2026年武汉市医疗救治中心医护人员招聘笔试参考题库及答案详解
- 2026年上海市中医医院医护人员招聘考试备考试题及答案详解
- 供货进度计划及措施
- 《检验检测机构资质认定管理办法》和培训考试试卷及答案
- GA/T 2014-2023道路交通信号配时运行管理规范
- 员工证书管理制度
- 工程合同担保书范例
- TSHCH 01-2024 SLAM测量技术标准
- 《谷物联合收获机》课件
- 2023年1月浙江英语首考读后续写课件-2024届高三英语二轮复习
- 2024年贵州省贵阳市中考生物地理试题(含答案解析)
- 课题评审活动策划方案
- “以字行腔”在中国民族声乐教学中的实践与运用
评论
0/150
提交评论