课堂笔记.docx

上传人:b****5 文档编号:8418777 上传时间:2023-01-31 格式:DOCX 页数:21 大小:251.58KB
下载 相关 举报
课堂笔记.docx_第1页
第1页 / 共21页
课堂笔记.docx_第2页
第2页 / 共21页
课堂笔记.docx_第3页
第3页 / 共21页
课堂笔记.docx_第4页
第4页 / 共21页
课堂笔记.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

课堂笔记.docx

《课堂笔记.docx》由会员分享,可在线阅读,更多相关《课堂笔记.docx(21页珍藏版)》请在冰豆网上搜索。

课堂笔记.docx

课堂笔记

时间安排:

十天时间:

java的基础语法,面向对象,坦克大战,javaEE,flex;

1月10号

了解到美国的三大公司:

微软,谷哥,苹果

程序语言的种类:

JAVA排行第一

Servletjspaspphp

Jdk的配置:

环境变量的配置:

1.JAVA_HOME,一般是bin目录的上一级

2.PATH%JAVA_HOME%\bin

Java的解释机制:

Java源代码(.java)—》字节码(.class)—》显示结果

javac将.java编译为.classjava编译.class文件

书写最基本的helloworld程序

安装myeclipse,了解其功能等

包的命名:

组织名.公司名.项目名

Java程序执行的过程

1.启动JAVA虚拟机

2.把类加载到内存

3.解析类安全检查

4.执行java二进制机器码

5.找到main方法进行执行

JAVA的注释:

//注释一行

/**/注释多行

/**

*

**/注释多行,可用来自动生成文档(文档注释,注释要写在对应代码的前面)

注意./**/不能嵌套

关键字:

访问控制:

私有的,受保护的,公共的

类、方法和变量修饰符:

abstract声明抽象class类extends扩充

Final不可改变的implements实现interface接口native本地

New新static静态等

包相关:

import引入package包

程序控制语句:

break等

变量引用:

super等

错误处理:

catchfinallythrowthrowstry

基本类型:

booleanbytechardoublefloatintlong

标识符

JAVA标识符的命名规则:

数据类型:

基本数据类型,引用数据类型

基本(简单)数据类型有八种

JAVA是一种强类型语言

强制类型转换

基本数据类型的转换遵循水桶原则:

占用内存空间比较大的数据不能直接赋值给比它小的数据类型,反之可以。

运算符

流程控制---ifelse

---ifelseif……else

---swich…case

--while

---do…while

练习。

求1+3+5+。

+99

主要代码:

intsum=0;

for(inti=1;i<100;i++)

{

if(i%2!

=0)sum=sum+i;

}

Return的两种用法,第一直接返回退出,第二返回值

数组

int[]i=newint[]{1,2,3,4};//声明的时候初始化内容

int[]is=newint[4];//声明的时候初始化长度

访问数组,数组的下标是从0开始

冒泡排序:

作业:

统计任意一个数字在内存中有多少个1

packagecom.wepull.test;

publicclassTestSW{

publicintsum(intm){

int[]a=newint[60];

inti=0,sum=0;

while(m!

=0)

{

a[i]=m%2;

m=m/2;

i++;

}

for(intn=0;n<=i;n++)

{

if(a[n]==1)sum++;

}

returnsum;

}

publicstaticvoidmain(String[]arqs){

TestSWm=newTestSW();

intc;

c=m.sum(25);

System.out.println(c);

}

}

blue_wait@

交作业,交每天总结

QQ群47549079

Flex坦克和jsp与某些技术结合。

1月11日

2.flex开发坏境flashbuilder4讲解

会用到两种语言,actionScript3.0和Mxml

3.flex运行原理

a)编译过程mxmlas->as->abc(swf,swc===.jar)

b)html-template

c).actionScriptProperties

4.调试

a)必须安装flashplayer的debug

b)trace()只有在debug模式下才能启用

ActionScript语法基础

1.变量、方法及基本数据类型变量的定义,几种基本数据类型(Boolean.int.uint.Number.Date);

//定义变量的写法

publicvari:

int=0;

//方法的定义

publicfunctionfun():

int

{

return1;

}

//--定义uint类型(无符号的整型)

publicvaru:

uint=2;

//--浮点数类型

publicvarnum:

Number=3.1415;

2.字符串及其基本操作(字符串的定义字符串比较连接字符串字符)

publicfunctioninit():

void{

Alert.show(String(str==str1));

}

//--字符串

publicvarstr:

String="abc";

publicvarstr1:

String=newString("abc");

3.数组

//--数组

publicvararray:

Array=newArray();

//--数组内容的存取

publicfunctiontestArray()

{

//--向数组内装对象

array.push

(1);

array.push(2,3,4);

deletearray[3];//--将对应下标位置上的数据删掉但是下标占位不会动,数组的长度不会减少

//Alert.show(array[2]);

//--遍历数组

for(vari:

int=0;i

Alert.show(array[i]);

}

}

4.循环控制for…in语句foreach…in语句while语句do…while语句

5.条件语句if…else语句if..elseif语句switch语句

6.Math对象math类及其常用方法

Alert.show(Math.abs(8).toString());

Alert.show(Math.random().toString());//随机数范围0-1

Alert.show(Math.round(58.4).toString());//四舍五入

Alert.show(Math.ceil(3.5).toString());//向上取整

7.数据类型装换asis

 

转换为FLEX组件

作业:

1.让键盘控制坦克(尝试)

2.制作素材坦克

总结

用户名:

blue_wait@

密码:

dd111111

1月12日

画子弹,爆炸效果以及敌人

面向对象分析(属性,行为)

坦克

-外观

-速度

-方向

-死亡状态

-大小

-攻击力

-开火()

-移动()

-重生()

-升级()

子弹

-长相

-大小

-速度

-方向

-射程

-死亡状态

-攻击力

-攻击()

-移动()

-去死()

事件监听以及相应函数方法的写法

TankObj.as

packagecom.wepull.tank

{

importflash.events.KeyboardEvent;

importflash.utils.setInterval;

importmx.core.FlexGlobals;

importmx.events.FlexEvent;

importponents.Application;

publicclassTankObjextendsTank

{

publicfunctionTankObj()

{

super();

/*加载完成后进行初始化*/

this.addEventListener(FlexEvent.CREATION_COMPLETE,init);

}

/**速度*/

publicvarsp:

Number=5;

/**

*U:

*UR:

上右

*R:

*RD:

右下

*D:

*DL:

下左

*L:

*LU:

左上

*"":

停止

*方向*/

publicvarasp:

String="";

/**炮筒方向*/

publicvarptAsp:

String="U";

/**死亡状态

*使用继承而来的可视属性表示

**/

/**大小

*使用继承而来的高度宽度

**/

/**初始化

*定高宽

*循环移动

*添加键盘控制坦克的行动*/

publicfunctioninit(e:

FlexEvent):

void{

this.height=100;

this.width=70;

setInterval(domove,40);

this.stage.addEventListener(KeyboardEvent.KEY_DOWN,onkey);

this.stage.addEventListener(KeyboardEvent.KEY_UP,onkeyend);

}

/**开火

*1.产生一个子弹

*2.坐标同步

*3.方向同步*/

publicfunctionfire():

void{

/**获得application,无法获得application的值,有错*/

varapplication:

Application=Application(FlexGlobals.topLevelApplication);

varbul:

BulletObj=newBulletObj();

application.addElement(bul);

bul.x=this.x;

bul.y=this.y;

bul.asp=this.ptAsp;//子弹方向与炮筒方法同步

}

/**移动

*根据速度和方向*/

publicfunctiondomove():

void{

//--控制炮口方向

if(asp!

=""){

this.ptAsp=this.asp;

}

if(asp=="U"){//--上

this.y-=sp;

this.rotationZ=0;

}elseif(asp=="UR"||asp=="RU"){//--上右

this.x+=sp;

this.y-=sp;

this.rotationZ=45;

}

elseif(asp=="R"){//--右

this.x+=sp;

this.rotationZ=90;

}

elseif(asp=="RD"||asp=="DR"){//--右下

this.x+=sp;

this.y+=sp;

this.rotationZ=135;

}

elseif(asp=="D"){//--下

this.y+=sp;

this.rotationZ=180;

}

elseif(asp=="DL"||asp=="LD"){//--下左

this.x-=sp;

this.y+=sp;

this.rotationZ=225;

}

elseif(asp=="L"){//--左

this.x-=sp;

this.rotationZ=270;

}

elseif(asp=="LU"||asp=="UL"){//--左上

this.x-=sp;

this.y-=sp;

this.rotationZ=315;

}

}

/**去死*/

publicfunctiondead():

void{

}

/**重生*/

publicfunctionrelive():

void{

}

/**当键盘压下,改变坦克的方向*/

publicfunctiononkey(e:

KeyboardEvent):

void{

varkey:

int=e.keyCode;

/**用上下左右控制*/

/*if(key==38){

this.asp="U";

}elseif(key==39){

this.asp="R";

}elseif(key==40){

this.asp="D";

}elseif(key==37){

this.asp="L";

}*/

/**用WASD控制*/

if(key==87&&asp.length<2&&asp.indexOf("U")==-1){

this.asp+="U";

}elseif(key==68&&asp.length<2&&asp.indexOf("R")==-1){

this.asp+="R";

}elseif(key==83&&asp.length<2&&asp.indexOf("D")==-1){

this.asp+="D";

}elseif(key==65&&asp.length<2&&asp.indexOf("L")==-1){

this.asp+="L";

}elseif(key==74){//--按j键开火

fire();

}

}

/**只要有键盘弹起方向为无

*就将对应的方向的字符从asp中清除*/

publicfunctiononkeyend(e:

KeyboardEvent):

void{

varkey:

int=e.keyCode;

if(key==87){

asp=asp.replace("U","");

}elseif(key==68){

asp=asp.replace("R","");

}elseif(key==83){

asp=asp.replace("D","");

}elseif(key==65){

asp=asp.replace("L","");

}

}

}

}

BulletObj.as

packagecom.wepull.tank

{

importflash.utils.setInterval;

importmx.events.FlexEvent;

publicclassBulletObjextendsBullet

{

publicfunctionBulletObj()

{

super();

this.addEventListener(FlexEvent.CREATION_COMPLETE,init);

}

/**速度*/

publicvarsp:

Number=10;

/**方向*/

publicvarasp:

String="";

/**死亡状态用可视元素替代*/

/**初始化

*大小初始化

*移动

**/

publicfunctioninit(e:

FlexEvent):

void{

this.height=60;

this.width=20;

setInterval(domove,40);

}

/**移动AI*/

publicfunctiondomove():

void{

if(asp=="U"){//--上

this.y-=sp;

this.rotationZ=0;

}elseif(asp=="UR"||asp=="RU"){//--上右

this.x+=sp;

this.y-=sp;

this.rotationZ=45;

}

elseif(asp=="R"){//--右

this.x+=sp;

this.rotationZ=90;

}

elseif(asp=="RD"||asp=="DR"){//--右下

this.x+=sp;

this.y+=sp;

this.rotationZ=135;

}

elseif(asp=="D"){//--下

this.y+=sp;

this.rotationZ=180;

}

elseif(asp=="DL"||asp=="LD"){//--下左

this.x-=sp;

this.y+=sp;

this.rotationZ=225;

}

elseif(asp=="L"){//--左

this.x-=sp;

this.rotationZ=270;

}

elseif(asp=="LU"||asp=="UL"){//--左上

this.x-=sp;

this.y-=sp;

this.rotationZ=315;

}

}

/**去死*/

publicfunctiondead():

void{

}

}

}

Wepull_tank_01.mxml

xmlversion="1.0"encoding="utf-8"?

>

ApplicationapplicationComplete="init(event)"xmlns:

fx="

xmlns:

s="library:

//

xmlns:

mx="library:

//minWidth="955"minHeight="600">

Script>

[CDATA[

importcom.wepull.tank.BulletObj;

importcom.wepull.tank.TankObj;

importmx.events.FlexEvent;

[Bindable]

publicvartank:

TankObj=newTankObj();

publicvarbul:

BulletObj=newBulletObj();

protectedfunctioninit(event:

FlexEvent):

void{

this.addElement(tank);

}

]]>

Script>

Declarations>

--Placenon-visualelements(e.g.,services,valueobjects)here-->

Declarations>

Application>

作业:

如何优化性能,回收子弹,写想法

1月13日

-越界子弹处理回收

-在坦克内部加入弹夹

-初始化时先制造所有子弹运行中只管使用

找到可用的子弹~~~运用visible函数

坦克左右一起按,再按开火。

子弹不动,如何解决

开火时音效

作业:

子弹依然停留问题

让子弹DU,UD,LR,RL的方向不存在即可

在domove中加入

if(asp!

=""&&asp!

="DU"&&asp!

="UD"&&asp!

="LR"&&asp!

="RL"){

this.ptAsp=this.asp;

}

坦克越界停止

获得坦克当前越界时的方向,除了该方向,其他方向都可以移动

爆炸效果加入到每一个对象中去

还要考虑哪些碰撞情况

游戏性

去公司参观

关山饭店~~~

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1