Android游戏开发秘籍:将PC游戏轻松移植到移动设备

需积分: 3 3 下载量 87 浏览量 更新于2024-07-24 收藏 15.43MB PDF 举报
《高级Android游戏开发指南》(Advanced Android 4 Games)是一本专为Android平台游戏开发者打造的实用手册。作者通过本书分享了将传统PC游戏轻松移植到Android设备的独特方法,使读者能够在移动设备上体验丰富的游戏内容,而无需花费大量精力。书中内容涵盖了多个章节,包括: 1. **第一章:欢迎来到小绿机器人世界** - 开篇介绍Android游戏开发环境,引导读者进入游戏开发的世界,强调Android平台的潜力和适用性。 2. **第二章:手机和平板游戏技巧** - 这一章节提供针对不同设备类型(如手机和平板)的游戏优化策略,帮助开发者理解和利用这些设备的特性。 3. **第三章:OpenGL和JNI的更多游戏技巧** - OpenGL用于图形渲染,JNI(Java Native Interface)允许与原生代码交互,通过这两个技术,开发者可以提升游戏性能和视觉效果。 4. **第四章:利用OpenGLES 2.0实现高效图形** - OpenGLES是Android图形处理库的轻量级版本,这里详述如何利用它创建高效的图形处理程序,确保游戏在移动设备上的流畅运行。 5. **第五章:Doom风格的3D射击游戏** - 通过实战示例,展示如何运用所学技术开发类似经典游戏Doom的3D射击游戏。 6. **第六章:Quake风格的3D射击游戏** - 接下来是Quake系列游戏的3D射击游戏开发,深入探讨如何构建这类复杂游戏的移动版。 7. **第七章:Quake II风格的3D射击游戏** - 同样的,这一章会进一步讲解如何针对Quake II进行游戏移植和优化。 8. **附录:部署和编译提示** - 提供实用的部署和编译建议,帮助开发者解决实际项目中可能遇到的问题,确保项目的顺利进行。 通过阅读本书,开发者不仅能掌握Android游戏开发的基本技能,还能学习如何无缝地将PC游戏世界的精髓移植到Android平台上,从而扩展游戏的受众群体。无论是初学者还是经验丰富的开发者,都能从中找到有价值的资源和灵感,推动Android游戏市场的创新和发展。

解释这段代码static void AdvancedTim_Config(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_OCInitTypeDef TIM_OCInitStruct; TIM_BDTRInitTypeDef TIM_BDTRInitStruct; /*开时钟*/ RCC_APB2PeriphClockCmd(ADVANCED_TIM_CLK, ENABLE); /*配置时基参数*/ TIM_TimeBaseInitStruct.TIM_Prescaler=ADVANCED_TIM_PSC;/*预分频因子*/ TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;/*向上计数*/ TIM_TimeBaseInitStruct.TIM_Period=ADVANCED_TIM_ARR;/*周期*/ TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;/*Tdts:这里会与死区时间有关*/ TIM_TimeBaseInitStruct.TIM_RepetitionCounter=0;/*不使用重复计数器*/ /*写参数*/ TIM_TimeBaseInit(ADVANCED_TIM, &TIM_TimeBaseInitStruct); /*配置输出比较的参数*/ TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;/*PWM模式一*/ TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;/*主通道使能*/ TIM_OCInitStruct.TIM_OutputNState=TIM_OutputNState_Enable;/*互补通道使能*/ TIM_OCInitStruct.TIM_Pulse=ADVANCED_TIM_CCR;/*占空比*/ TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;/*主通道高电平为有效*/ TIM_OCInitStruct.TIM_OCNPolarity=TIM_OCNPolarity_High;/*互补通道高电平为有效*/ TIM_OCInitStruct.TIM_OCIdleState=TIM_OCIdleState_Reset;/*刹车后的输出状态*/ TIM_OCInitStruct.TIM_OCNIdleState=TIM_OCNIdleState_Reset; /*写参数*/ TIM_OC1Init(ADVANCED_TIM, &TIM_OCInitStruct); TIM_OC1PreloadConfig(ADVANCED_TIM, TIM_OCPreload_Enable); /*配置死区刹车寄存器*/ TIM_BDTRInitStruct.TIM_OSSRState=TIM_OSSRState_Enable; TIM_BDTRInitStruct.TIM_OSSIState=TIM_OSSIState_Enable; TIM_BDTRInitStruct.TIM_LOCKLevel=TIM_LOCKLevel_OFF; TIM_BDTRInitStruct.TIM_DeadTime=7; /*死区时间97ns*/ TIM_BDTRInitStruct.TIM_Break=TIM_Break_Enable;/*使能刹车功能*/ TIM_BDTRInitStruct.TIM_BreakPolarity=TIM_BreakPolarity_High;/*当刹车通道为高电平时停止输出*/ TIM_BDTRInitStruct.TIM_AutomaticOutput=TIM_AutomaticOutput_Enable; TIM_BDTRConfig(ADVANCED_TIM, &TIM_BDTRInitStruct); TIM_Cmd(ADVANCED_TIM, ENABLE); TIM_CtrlPWMOutputs(ADVANCED_TIM, ENABLE); }

2023-07-10 上传