21
所属分类:android开发
开发工具:Java
文件大小:7546KB
下载次数:14
上传日期:2012-05-27 18:02:24
上 传 者:
艾米喵喵
说明: java编写的eclipse下的编写的射击类游戏——《抢滩登陆》安卓平台下
(prepared under the preparation of java eclipse shooting games- the " beach landing" Andrews platform)
文件列表:
21\21\Sample21_1\.classpath (380, 2012-05-06)
21\21\Sample21_1\.project (846, 2010-10-17)
21\21\Sample21_1\.settings\org.eclipse.jdt.core.prefs (629, 2012-05-06)
21\21\Sample21_1\AndroidManifest.xml (764, 2010-10-15)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\Activity_GL_Demo$1$1.class (1046, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\Activity_GL_Demo$1$2.class (2104, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\Activity_GL_Demo$1.class (2482, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\Activity_GL_Demo.class (4028, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\BuildConfig.class (329, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\CollectionUtil.class (3255, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\Constant.class (5930, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawBall.class (4697, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawCelestial.class (2666, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawCircle.class (3360, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawCube.class (3354, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawCylinder.class (3904, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawLandForm.class (2992, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawLightBall.class (4486, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawLightCylinder.class (4253, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawPanel.class (1962, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawTaper.class (4522, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawTextureRect.class (2048, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\DrawWater.class (3170, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\GLGameView$SceneRenderer$1.class (1076, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\GLGameView$SceneRenderer.class (9522, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\GLGameView.class (7196, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\LogicalBullet.class (5622, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\LogicalLandTank.class (3512, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\LogicalWaterTank.class (2967, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\PackageCannon.class (4833, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\PackageCannonEmplacement.class (1712, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\PackageLandTank.class (2260, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\PackageLandTankWheel.class (1779, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\PackageLighthouse.class (2902, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\PackageWaterTank.class (2101, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\PackageWaterTankBody.class (3555, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\R$attr.class (316, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\R$drawable.class (1613, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\R$id.class (572, 2012-05-06)
21\21\Sample21_1\bin\classes\wyf\jsl\lb\R$layout.class (425, 2012-05-06)
... ...
package wyf.jsl.lb;
import static wyf.jsl.lb.Constant.*;
public class ThreadMenu extends Thread {
SurfaceViewMenu mv;
int afterCurrentIndex;//动画播放完后的当前菜单图片数组索引
public ThreadMenu(SurfaceViewMenu mv,int afterCurrentIndex)
{
this.mv=mv;
this.afterCurrentIndex=afterCurrentIndex;
}
@Override
public void run()
{
for(int i=0;i<=TOTAL_STEPS;i++)//循环指定的步数完成动画
{
mv.changePercent=PERCENT_STEP*i;//计算此步的占动画的百分比
mv.initMenu();//初始化各个位置的值
if(mv.anmiState==1)//如果状态是1,则向右移
{
//根据当前百分比计算当前菜单的位置,大小
mv.currentSelectX=mv.currentSelectX+(BIGWIDTH+MENU_SPAN)*mv.changePercent;
mv.currentSelectY=mv.currentSelectY+(BIGHEIGHT-SMALLHEIGHT)*mv.changePercent;
mv.currentSelectWidth=BIGWIDTH-(BIGWIDTH-SMALLWIDTH)*mv.changePercent;
mv.currentSelectHeight=BIGHEIGHT-(BIGHEIGHT-SMALLHEIGHT)*mv.changePercent;
//向右移之后,紧邻当前菜单的左侧菜单项要变大,下面要计算
mv.leftWidth=SMALLWIDTH+(BIGWIDTH-SMALLWIDTH)*mv.changePercent;
mv.leftHeight=SMALLHEIGHT+(BIGHEIGHT-SMALLHEIGHT)*mv.changePercent;
}
else if(mv.anmiState==2)//如果状态是2,则向左移
{
//根据当前百分比计算当前菜单的位置,大小
mv.currentSelectX=mv.currentSelectX-(SMALLWIDTH+MENU_SPAN)*mv.changePercent;
mv.currentSelectY=mv.currentSelectY+(BIGHEIGHT-SMALLHEIGHT)*mv.changePercent;
mv.currentSelectWidth=BIGWIDTH-(BIGWIDTH-SMALLWIDTH)*mv.changePercent;
mv.currentSelectHeight=BIGHEIGHT-(BIGHEIGHT-SMALLHEIGHT)*mv.changePercent;
//向左移之后,紧邻当前菜单的右侧菜单项要变大,下面要计算
mv.rightWidth=SMALLWIDTH+(BIGWIDTH-SMALLWIDTH)*mv.changePercent;
mv.rightHeight=SMALLHEIGHT+(BIGHEIGHT-SMALLHEIGHT)*mv.changePercent;
}
//计算出紧邻左侧的菜单的位置
mv.leftX=mv.currentSelectX-MENU_SPAN-mv.leftWidth;
mv.leftY=mv.currentSelectY+(mv.currentSelectHeight-mv.leftHeight);//犯过错
//计算出紧邻右侧的菜单的位置
mv.rightX=mv.currentSelectX+mv.currentSelectWidth+MENU_SPAN;
mv.rightY=mv.currentSelectY+(mv.currentSelectHeight-mv.rightHeight);//犯过错
mv.repaint();
try
{
Thread.sleep(ANMI_TIMESPAN);
}
catch(Exception e)
{
e.printStackTrace();
}
}//for结束
mv.anmiState=0;
mv.currentIndex=afterCurrentIndex;
mv.initMenu();
mv.repaint();
}//run结束
}
近期下载者:
相关文件:
收藏者: