- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[实验五弹球程序的实现
实验二
一、实验名称:
弹球程序的实现
二、实验目的:
掌握Flash中坐标系统的应用以及帧延迟循环的应用,在此基础上,将简单的物理运动公式应用在Flash中,并利用剪辑嵌套技术将运动封装在剪辑中。
三、实验环境:
高档微机
Windows操作系统中文版
Flash CS3 Professional中文版
四、实验原理:
通过控制Flash剪辑对象的坐标x和y即可改变对象在舞台上的位置。而使用侦听ENTER_FRAME事件的方式,则可以将一部分关键代码重复执行。若在关键代码中运用物理运动公式,就可以实现简单的运动效果。
五、实验内容:
本实验将创建以下类:
App:文档的基类
Ball:球形显示对象
Brick:方块形显示对象
PUBLIC:运动公用常数存储类
MovingObject:运动的实现类
基本原理是在App的构造函数中创建方块和球的实例并添加到舞台。然后创建MovingOject类的实例,将方块和球实例放入其中进行运动。
选做:让作品中出现100个各种大小的运动的方块与小球。
六、实验步骤:
打开Flash CS3 Professional。
选择【文件】|【新建】,或者按Ctrl+N,弹出新建文档对话框。选择“Flash文档(ActionScript3.0)”,按确定新建一个Flash文档。1) 设置文档尺寸为800×600,帧频率为80。点击“确定”按钮。将其保存于工作目录中。将该文档的基类设定为App。
创建多个as类文件,这些类文件的内容如下所示:
App.as
package {
import flash.display.MovieClip;
import flash.geom.Rectangle;
import view.*;
import model.*;
import controller.*;
public class App extends MovieClip {
public function App() {
//
var ball:Ball=new Ball(20);
ball.x=200;ball.y=50;
addChild(ball);
var brick:Brick=new Brick(30);
brick.x=300;brick.y=20;
addChild(brick);
var rec:Rectangle=new Rectangle(0,0,stage.stageWidth,stage.stageHeight);
new MovingObject(brick,3,1,rec);
new MovingObject(ball,2,0,rec);
}
}
}
Ball.as
package view {
import flash.display.Sprite;
import flash.display.Graphics;
public class Ball extends Sprite {
private var r:Number;//球的半径
public function Ball(r:Number=10) {
this.r=r;
//画出小球
var g:Graphics=this.graphics;
g.beginFill(0xFF0000);
g.drawCircle(r,r,r);
g.endFill();
}
}
}
Brick.as
package view{
import flash.display.Sprite;
import flash.display.Graphics;
public class Brick extends Sprite {
private var l:Number;//方块的宽度
public function Brick(l:Number=10) {
this.l=l;
//画出小方块
var g:Graphics=this.graphics;
g.beginFill(0xFF0000);
g.drawRect(-l/2,-l/2,l,l);
g.endFill();
}
}
} PUBLIC.as
package model {
public class PUBLIC{
public static const G:Number=0.01;//重力加速度
public static const PZSS:Number=0.1;//碰撞损失率
public static const ZNXS:Number=0
文档评论(0)