课堂笔记Word文档下载推荐.docx
《课堂笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《课堂笔记Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
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("
);
3.数组
//--数组
publicvararray:
Array=newArray();
//--数组内容的存取
publicfunctiontestArray()
{
//--向数组内装对象
array.push
(1);
array.push(2,3,4);
deletearray[3];
//--将对应下标位置上的数据删掉但是下标占位不会动,数组的长度不会减少
//Alert.show(array[2]);
//--遍历数组
for(vari:
int=0;
array.length;
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.制作素材坦克
总结
用户名:
密码:
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:
/**炮筒方向*/
publicvarptAsp:
U"
/**死亡状态
*使用继承而来的可视属性表示
**/
/**大小
*使用继承而来的高度宽度
/**初始化
*定高宽
*循环移动
*添加键盘控制坦克的行动*/
publicfunctioninit(e:
FlexEvent):
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():
/**获得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():
//--控制炮口方向
if(asp!
="
){
this.ptAsp=this.asp;
if(asp=="
){//--上
this.y-=sp;
this.rotationZ=0;
}elseif(asp=="
UR"
||asp=="
RU"
){//--上右
this.x+=sp;
this.y-=sp;
this.rotationZ=45;
elseif(asp=="
R"
){//--右
this.rotationZ=90;
RD"
||asp=="
DR"
){//--右下
this.x+=sp;
this.y+=sp;
this.rotationZ=135;
D"
){//--下
this.rotationZ=180;
DL"
LD"
){//--下左
this.x-=sp;
this.y+=sp;
this.rotationZ=225;
L"
){//--左
this.rotationZ=270;
LU"
UL"
){//--左上
this.x-=sp;
this.rotationZ=315;
/**去死*/
publicfunctiondead():
/**重生*/
publicfunctionrelive():
/**当键盘压下,改变坦克的方向*/
publicfunctiononkey(e:
KeyboardEvent):
varkey:
int=e.keyCode;
/**用上下左右控制*/
/*if(key==38){
this.asp="
}elseif(key==39){
}elseif(key==40){
}elseif(key==37){
}*/
/**用WASD控制*/
if(key==87&
&
asp.length<
2&
asp.indexOf("
)==-1){
this.asp+="
}elseif(key==68&
2&
}elseif(key==83&
}elseif(key==65&
}elseif(key==74){//--按j键开火
fire();
/**只要有键盘弹起方向为无
*就将对应的方向的字符从asp中清除*/
publicfunctiononkeyend(e:
varkey:
if(key==87){
asp=asp.replace("
"
}elseif(key==68){
}elseif(key==83){
}elseif(key==65){
BulletObj.as
publicclassBulletObjextendsBullet
publicfunctionBulletObj()
Number=10;
/**方向*/
/**死亡状态用可视元素替代*/
*大小初始化
*移动
this.height=60;
this.width=20;
/**移动AI*/
this.rotationZ=180;
Wepull_tank_01.mxml
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
s:
ApplicationapplicationComplete="
init(event)"
xmlns:
fx="
xmlns:
s="
library:
//
mx="
//minWidth="
955"
minHeight="
600"
<
fx:
Script>
<
!
[CDATA[
importcom.wepull.tank.BulletObj;
importcom.wepull.tank.TankObj;
importmx.events.FlexEvent;
[Bindable]
publicvartank:
TankObj=newTankObj();
publicvarbul:
protectedfunctioninit(event:
this.addElement(tank);
]]>
/fx:
Declarations>
--Placenon-visualelements(e.g.,services,valueobjects)here-->
/s:
Application>
如何优化性能,回收子弹,写想法
1月13日
-越界子弹处理回收
-在坦克内部加入弹夹
-初始化时先制造所有子弹运行中只管使用
找到可用的子弹~~~运用visible函数
坦克左右一起按,再按开火。
子弹不动,如何解决
开火时音效
子弹依然停留问题
让子弹DU,UD,LR,RL的方向不存在即可
在domove中加入
if(asp!
asp!
DU"
UD"
LR"
RL"
坦克越界停止
获得坦克当前越界时的方向,除了该方向,其他方向都可以移动
爆炸效果加入到每一个对象中去
还要考虑哪些碰撞情况
游戏性
去公司参观
关山饭店~~~