移动设备软件应用与开发
大作业报告
姓  名:                        
学  号:                          
班  级:                          
院  系:                          
日  期:                                  
任课教师:                     
一、程序的运行环境、安装步骤
1、运行环境
游戏运行环境:Android1。5以上版本
2、程序的组成部份
2.1、JDK安装
1.我的电脑->属性->高级—>环境变量-〉系统变量中添加以下环境变量:
2.JAVA_HOME值为: D:\Program Files\Java\jdk1.6。0_18(你安装JDK的目录
3.CLASSPATH值为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;
4.Path:  在开始追加 %JAVA_HOME%\bin;
5.NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过.
安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java –version 查看JDK的版本信息.出现类似下面的画面表示安装成功了:
2。2、Eclipse安装
2。3、Android SDK安装
在Android Developers下载android-sdk_r05-windows。zip,下载完成后解压到任意路径。
运行,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的”Force https://。。.”这项,再点击Available Packages .
选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包
在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:\AndroidDevelo
p\android-sdk—windows\tools)。
image图2、设置Android SDK的环境变量
“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。
运行 android –h 如果有类似以下的输出,表明安装成功:
图3、验证Android SDK是否安装成功
2.4、ADT安装
打开 Eclipse IDE,进入菜单中的 ”Help" -> "Install New Software”
点击Add。..按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入dl—le。com/android/eclipse。如下图所示:
确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们. 如下图所示:
然后就是按提示一步一步next。
完成之后:
选择Window > Preferences。。。
在左边的面板选择Android,然后在右侧点击Browse.。.并选中SDK路径,本机为:
D:\AndroidDevelop\android-sdk—windows点击Apply、OK。配置完成。
2.5、创建AVD
为使Android应用程序可以在模拟器上运行,必须创建AVD.
1、在Eclipse中。选择Windows 〉 Android SDK and AVD Manager
2、点击左侧面板的Virtual Devices,再右侧点击New
3、填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值
4、点击Create AVD即可完成创建AVD
注意:如果你点击左侧面板的Virtual Devices,再右侧点击New ,而target下拉列表没有可选项时,这时候你:
点击左侧面板的Available Packages,在右侧勾选dl-ssl。google。com/android/repository/repository。xml,如下图所示:
然后点击Install Selected按钮,接下来就是按提示做就行了
要做这两步,原因是在1.3、Android SDK安装中没有安装一些必要的可用包(Available Packages)。
2。5、创建Android工程
三、 程序开发平台
        (1)代码行数:1000
        (2)开发环境:Android Developer Tools Build: v22.6.2—1085508
apache-ant-1。9。3
四、 程序功能说明:
单机屏幕按住不放可以拖动魔方转动,魔方上下左右空白处可以转动魔方相对那一面。
五、应用核心源码
class MFtestSurfaceView extends GLSurfaceView {android模拟点击
        private MFtestRenderer mRenderer;
        private float mPreviousX;
        private float mPreviousY;//上一次的点
       
        private float mDownPreviousX;
        private float mDownPreviousY;//上一次的Down点
       
      // private int oldDownX;
      // private int
        private float theta;
        private float fai;//球坐标
       
        public MFtestSurfaceView(Context context){
            super(context);
            theta=(float)3.14159/4;
            fai=(float)3.14159/4;
            // Set the Renderer for drawing on the GLSurfaceView
            mRenderer = new MFtestRenderer();
            setRenderer(mRenderer);
            setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
        }
        @Override
        public boolean onTouchEvent(MotionEvent e) {
            // MotionEvent reports input details from the touch screen
            // and other input controls。 In this case, you are only
            // interested in events where the touch position changed。
            float x = e.getX();
            float y = e.getY();
            switch (e。getAction()) {
                case MotionEvent.ACTION_MOVE://如果是 移动的话
       
                    float dx = x — mPreviousX;
                    float dy = y - mPreviousY;//x,y的变换值(不是0,就是1)
                    float te=theta;
                    theta=theta+dy/100;    //角度是弧度值
                    if (!(theta>0&&theta〈3。14159))
                    {
                        theta=te;        //法线始终向上
                       
                    }
                    fai=fai+ dx/100;                                                                //x=rsinθcosφ
                    mRenderer。eyez=(float)(3*Math。sin(theta)*Math。cos(fai));    //y=rsinθsinφ
                    =(float)(3*Math。sin(theta)*Math.sin(fai));    ////z=rcosθ    利用球坐标使观察点始终维持在半径为3的球上
                    mRenderer。eyey=(float)(3*Math。cos(theta));
                    requestRender();
                    //System。out。println(x+”      ”+y);
                    break;
                case MotionEvent。ACTION_DOWN:
                    mDownPreviousX=x;
                    mDownPreviousY=y;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。