Android游戏开发实践指南

Android游戏开发实践指南 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:罗格斯
出品人:
页数:412
译者:爱飞翔
出版时间:2012-9
价格:79.00元
装帧:
isbn号码:9787111391548
丛书系列:华章程序员书库
图书标签:
  • android
  • 游戏开发
  • 计算机
  • 软件开发
  • 计算机科学
  • 编程
  • 随便看看
  • 游戏开安
  • Android游戏开发
  • 游戏引擎
  • Unity
  • Android
  • Java
  • Kotlin
  • LibGDX
  • 游戏设计
  • 移动游戏
  • 开发教程
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《华章程序员书库:Android游戏开发实践指南》是一本经典的Android游戏开发教程,由资深软件开发专家亲自执笔,AndEngine引擎创建者作序推荐。《华章程序员书库:Android游戏开发实践指南》中以开源引擎AndEngine为基础,不仅以专题的形式巧妙地将Android游戏开发必须掌握的各项关键技术(场景、图层、图形绘制、精灵、动画、物理效果、粒子系统、碰撞检测、关卡设计、美工、声音……)串联起来,系统地讲解了Android游戏开发者应该学习的理论知识,而且用一个完整的案例贯穿全书,将游戏开发的各项要素整合到一起,对Android游戏开发的方法和流程做了一个全景展示,可操作性极强。

《华章程序员书库:Android游戏开发实践指南》共分17章:第1章介绍手机游戏的概况和类型;第2章~第15章各章都会阐述一个与游戏开发相关的话题,其中包括游戏的要素与游戏开发的工具,游戏逻辑循环的概念和用AndEngine开始开发游戏的方法,场景、图层、场景切换与实体修改器,精灵和动画精灵的绘制方法,文本和用户输入,瓦片地图,粒子系统,声音,物理效果,人工智能,计分与碰撞以及多媒体扩展包;第16章介绍如何通过完善现有功能使游戏更有趣;第17章介绍游戏的测试与发行。每章最后都有练习题,可帮助读者边学边练,迅速提高技能,书最后提供了习题答案。

海报:

《PixelCraft:精通2D游戏世界构建》 简介: 您是否曾梦想亲手创造出那些令人沉迷的像素艺术游戏?是否对那些精致的2D角色、流畅的动画以及引人入胜的关卡设计充满了好奇?《PixelCraft:精通2D游戏世界构建》将带您踏上一段深入探索2D游戏开发核心技术的旅程。本书并非简单地罗列代码片段,而是旨在通过循序渐进的讲解和丰富的实践案例,帮助您理解2D游戏设计的精髓,从零开始打造属于您自己的游戏世界。 本书内容概述: 像素艺术的奥秘: 告别模糊的低分辨率画面,本书将从基础概念讲起,教您如何运用色彩理论、构图技巧和像素精度,创作出独具风格的像素角色、场景和UI元素。您将学习到各种常用像素艺术风格的特点,例如复古8位、16位以及更现代的风格,并掌握使用主流像素艺术创作工具(如Aseprite、Piskel等)进行高效创作的技巧。我们将深入探讨动画帧的绘制、精灵图的组织以及如何通过细微的像素变化赋予角色生命力。 游戏引擎的驾驭(以Godot Engine为例): 选择一款强大的游戏引擎是事半功倍的关键。《PixelCraft》将以开源且功能强大的Godot Engine为核心开发平台。您将系统学习Godot Engine的架构,包括其场景树系统、节点概念、信号机制以及GDScript脚本语言。我们将从如何创建新项目、导入资源开始,逐步引导您理解并运用Godot的内置工具进行游戏逻辑的编写、物理系统的配置、UI界面的设计和音频的集成。本书将详细讲解如何利用Godot的2D渲染管线,实现高质量的画面表现。 角色设计与动画: 一个鲜活的角色是游戏灵魂的体现。本书将深入剖析游戏角色的设计流程,从概念草图到最终的像素美术表现。您将学习到如何为角色设计行走、跳跃、攻击等基础动画,并通过关键帧动画、骨骼动画(在Godot中通过AnimationPlayer节点实现)等技术,为角色赋予更细腻、更富表现力的动作。我们还会探讨如何实现角色的状态机,让角色的行为逻辑更加清晰和可控。 关卡设计与场景构建: 好的关卡是引导玩家探索和挑战的路径。《PixelCraft》将引导您理解关卡设计的原则,包括节奏控制、难度曲线、信息传递和玩家引导。您将学习如何利用Godot的TileMap系统高效地构建2D地图,设计平台跳跃式的关卡、迷宫式的探索区域,以及包含机关和陷阱的挑战场景。我们还会介绍如何通过视差滚动(Parallax Scrolling)等技术,为2D场景增加深度和动感,营造更具沉浸感的游戏世界。 核心游戏机制的实现: 无论是平台跳跃、射击、解谜还是RPG,《PixelCraft》都将为您提供实现各类核心游戏机制的指导。您将学习如何实现玩家的输入响应、角色的移动与碰撞检测、子弹发射与命中判定、敌人AI的初步设计、道具收集与使用、以及简单的状态管理。本书将通过实际案例,演示如何将零散的功能模块有机地组合起来,构建出完整且有趣的游戏玩法。 用户界面(UI)与用户体验(UX): 优秀的游戏界面能够清晰地传达信息,提升玩家体验。《PixelCraft》将讲解如何使用Godot的Control节点系统设计和实现各种UI元素,包括主菜单、游戏内HUD(生命值、分数显示)、暂停菜单、对话框等。我们还将讨论如何通过合理的UI布局、清晰的图标设计以及流畅的交互反馈,优化玩家的游戏体验。 声音与音乐的融合: 音效和背景音乐是烘托游戏氛围、增强情感共鸣的重要元素。《PixelCraft》将指导您如何将音效和背景音乐集成到游戏中,并根据游戏事件触发相应的音频反馈。您将学习如何使用Godot的AudioStreamPlayer节点,管理音轨的播放、音量控制以及简单的音频混合。 性能优化与发布: 即使是最精美的游戏,也需要流畅的运行。《PixelCraft》将介绍一些基础的性能优化技巧,例如如何合理使用纹理、减少Draw Call、优化脚本效率等,确保您的游戏在不同设备上都能有良好的表现。最后,本书还将带领您了解如何将您的游戏打包并发布到不同的平台。 适用人群: 对2D游戏开发充满热情,希望从零开始学习的初学者。 有一定编程基础,但对游戏开发流程和2D游戏技术不熟悉的开发者。 希望掌握一种成熟的2D游戏开发引擎,并将其应用于实际项目的设计师或独立游戏开发者。 对像素艺术创作和2D游戏设计有浓厚兴趣的爱好者。 《PixelCraft:精通2D游戏世界构建》 是一本面向实践的指南,它将以清晰的逻辑、翔实的步骤和丰富的示例,帮助您将脑海中的游戏创意转化为触手可及的数字世界。准备好,让我们一起用像素点亮您的游戏梦想!

作者简介

Rick Rogers,资深软件开发工程师,拥有30余年软件开发经验,从事手机软件开发10余年,经验十分丰富。他还是一位有经验的技术作家,曾在杂志上发表过多篇技术文章,并著有另外一本关于Android应用开发的图书。

目录信息

译者序

前言
第1章 手机游戏 / 1
1.1 手机游戏市场 / 2
1.2 电脑游戏的世界 / 3
1.2.1 游戏类型 / 3
1.2.2 适合于手机的游戏 / 5
1.2.3 典型的游戏组件 / 6
1.2.4 《少女大战吸血鬼》 / 8
1.2.5 v3的设计 / 9
1.3 andengine范例 / 11
1.4 总结 / 12
1.5 习题 / 12
第2章 游戏要素与工具 / 14
2.1 软件开发工具 / 15
2.1.1 android sdk / 15
2.1.2 andengine游戏引擎库 / 16
2.1.3 andengine游戏概念 / 17
.2.1.4 box2d物理引擎 / 19
2.2 图形工具 / 19
2.2.1 矢量图工具:inkscape / 20
2.2.2 位图工具:gimp / 21
2.2.3 动画捕捉:animget / 22
2.2.4 瓦片地图创建工具:tiled / 23
2.2.5 truetype字体创建与编辑工具:fontstruct / 23
2.3 声音工具 / 24
2.3.1 音效工具:audacity / 24
2.3.2 背景音乐工具:musescore / 25
2.4 初试身手:制作启动画面 / 26
2.4.1 创建游戏项目 / 27
2.4.2 加入andengine库 / 27
2.4.3 加入启动画面代码 / 28
2.4.4 用模拟器运行游戏 / 30
2.4.5 用android设备运行游戏 / 31
2.5 总结 / 31
2.6 习题 / 32
第3章 游戏循环与菜单 / 33
3.1 游戏循环概述 / 34
3.2 andengine的游戏循环 / 35
3.2.1 初始化engine对象 / 35
3.2.2 其他engine类 / 36
3.3 为v3增加菜单屏幕 / 37
3.3.1 andengine的菜单 / 37
3.3.2 构建v3的开始菜单 / 40
3.3.3 创建菜单 / 40
3.3.4 mainmenuactivity类 / 45
3.3.5 常数与字段 / 46
3.3.6 onloadresources()方法 / 46
3.3.7 onloadscene()方法 / 46
3.3.8 createstaticmenuscene()方法与createpopupscene()方法 / 46
3.3.9 onkeydown()方法与onmenuitemclicked()方法 / 47
3.3.10 从启动画面切换到菜单 / 47
3.4 内存使用 / 50
3.5 “退出”选项 / 50
3.6 总结 / 50
3.7 习题 / 51
第4章 场景、图层、场景切换与实体修改器 / 52
4.1 andengine的场景 / 53
4.1.1 实体/组件模型 / 53
4.1.2 entity类 / 54
4.1.3 构造器 / 54
4.1.4 entity类的位置相关方法 / 55
4.1.5 entity类的缩放相关方法 / 55
4.1.6 entity类的颜色相关方法 / 56
4.1.7 entity类的旋转相关方法 / 57
4.1.8 管理子对象 / 57
4.1.9 管理modifier / 58
4.1.10 其他有用的entity类方法 / 58
4.1.11 layer类 / 59
4.1.12 scene类 / 59
4.1.13 背景管理 / 60
4.1.14 子scene对象管理 / 60
4.1.15 layer对象管理 / 61
4.1.16 上级scene对象管理 / 61
4.1.17 触摸区域管理 / 61
4.1.18 特殊scene类 / 61
4.1.19 用于entity的modifier类 / 62
4.1.20 entitymodifier类的通用方法 / 63
4.1.21 位置相关的entitymodifier类 / 63
4.1.22 缩放相关的entitymodifier类 / 66
4.1.23 颜色相关的entitymodifier类 / 67
4.1.24 旋转相关的entitymodifier类 / 67
4.1.25 透明度相关的entitymodifier类 / 68
4.1.26 延迟相关的entitymodifier类 / 69
4.1.27 modifier的组合 / 69
4.1.28 easefunction / 71
4.2 创建游戏第1关的场景 / 79
4.3 总结 / 84
4.4 习题 / 85
第5章 绘制与精灵 / 86
5.1 快速回顾entity类 / 87
5.2 绘制线条与矩形 / 88
5.2.1 线条 / 88
5.2.2 矩形 / 88
5.3 精灵 / 88
5.3.1 贴图 / 89
5.3.2 效率问题 / 99
5.3.3 复合精灵 / 100
5.4 总结 / 104
5.5 习题 / 105
第6章 动画 / 106
6.1 动画所需素材 / 107
6.2 动画的瓦片贴图 / 108
6.3 andengine的动画 / 108
6.4 动画范例 / 110
6.5 将动画加入level1activity类 / 114
6.6 动画制作的问题 / 122
6.7 高级话题:从3d模型中制作2d动画 / 123
6.8 总结 / 123
6.9 习题 / 123
第7章 文本 / 125
7.1 字型与字体 / 126
7.2 载入字型 / 127
7.2.1 font类 / 127
7.2.2 strokefont类 / 127
7.2.3 fontfactory类 / 128
7.2.4 fontmanager类 / 128
7.2.5 typeface类 / 128
7.3 andengine中的文本 / 129
7.3.1 andengine中的文本api / 129
7.3.2 桌面通知 / 132
7.4 定制字型 / 133
7.5 将定制字型加入v3 / 135
7.6 总结 / 142
7.7 习题 / 142
第8章 用户输入 / 144
8.1 android与andengine的输入方式 / 145
8.1.1 字母键盘与袖珍键盘 / 146
8.1.2 触摸 / 146
8.1.3 自定义手势 / 152
8.1.4 屏幕游戏手柄 / 152
8.1.5 加速计 / 153
8.1.6 位置和方向 / 153
8.1.7 语音 / 158
8.2 将用户输入加入v3 / 161
8.3 总结 / 166
8.4 习题 / 166
第9章 瓦片地图 / 168
9.1 为何使用瓦片地图 / 169
9.2 瓦片地图的类型 / 169
9.2.1 正交瓦片地图 / 171
9.2.2 等距投影瓦片地图 / 171
9.3 瓦片地图的结构 / 172
9.4 andengine中的瓦片地图 / 172
9.4.1 tmx与tsx文件 / 172
9.4.2 tmxloader类 / 172
9.4.3 tmxtiledmap类 / 173
9.4.4 tmxlayer类 / 174
9.4.5 tmxtile类 / 174
9.5 瓦片编辑器:tiled / 175
9.6 tmx文件 / 176
9.7 正交瓦片地图游戏:《打吸血鬼》 / 177
9.7.1 wav的瓦片地图 / 177
9.7.2 创建wav的瓦片集 / 178
9.7.3 创建wav的瓦片地图 / 179
9.7.4 《打吸血鬼》游戏的代码 / 181
9.8 等距投影瓦片地图 / 191
9.9 总结 / 191
9.10 习题 / 192
第10章 粒子系统 / 193
10.1 粒子发射器是什么 / 194
10.2 粒子系统如何运作 / 195
10.3 andengine的粒子系统 / 195
10.3.1 particlesystem类 / 196
10.3.2 particleemitter类 / 197
10.3.3 particleinitializer类 / 198
10.3.4 particlemodifier类 / 199
10.3.5 有用的particlesystem类方法 / 200
10.4 创建粒子系统 / 201
10.4.1 以传统方式创建粒子系统 / 201
10.4.2 以xml文件创建粒子系统 / 202
10.5 将粒子发射器加入v3游戏中 / 206
10.5.1 以传统方式制作v3的爆炸效果 / 206
10.5.2 以xml文件方式制作v3的爆炸效果 / 210
10.6 总结 / 211
10.7 习题 / 211
第11章 声音 / 213
11.1 如何在游戏中使用声音 / 214
11.1.1 音乐 / 214
11.1.2 音效 / 214
11.2 音乐与音效的来源 / 215
11.3 音乐与音效制作工具 / 216
11.4 音频解码器 / 216
11.5 使用andengine播放声音 / 217
11.5.1 music类 / 218
11.5.2 sound类 / 218
11.5.3 musicfactory类 / 219
11.5.4 soundfactory类 / 219
11.6 将声音加入v3游戏 / 220
11.6.1 创建音效 / 220
11.6.2 创建背景音乐 / 223
11.6.3 修改v3游戏的代码 / 225
11.7 总结 / 235
11.8 习题 / 236
第12章 物理效果 / 237
12.1 box2d物理引擎 / 238
12.1.1 box2d概念 / 238
12.1.2 设定box2d / 240
12.2 构建物理学游戏的关卡 / 241
12.3 andengine与box2d / 242
12.3.1 下载andenginephysicsbox2dextension并将其加入游戏项目 / 242
12.3.2 box2d的api / 244
12.3.3 简单的物理效果范例 / 247
12.3.4 关卡加载 / 252
12.4 《愤怒的村民》:v3中的物理学小游戏 / 255
12.5 实现iv游戏 / 255
12.5.1 创建关卡 / 256
12.5.2 编写ivactivity.java / 260
12.6 总结 / 270
12.7 习题 / 270
第13章 人工智能 / 272
13.1 游戏ai相关话题 / 273
13.1.1 简单的脚本 / 273
13.1.2 决策树、minimax树与状态机 / 273
13.1.3 专家系统或基于规则的决策系统 / 276
13.1.4 神经网络 / 277
13.1.5 遗传算法 / 278
13.1.6 路径查找 / 279
13.1.7 动态困难度调节 / 280
13.1.8 程序化的音乐生成 / 280
13.2 实现v3游戏的ai / 281
13.3 总结 / 290
13.4 习题 / 290
第14章 计分与碰撞 / 291
14.1 计分系统设计 / 292
14.1.1 更新小游戏取得的分数 / 293
14.1.2 记录5个最高分 / 293
14.1.3 在小游戏场景中显示分数 / 294
14.1.4 分数页面的显示 / 295
14.2 andengine的碰撞 / 298
14.2.1 andengine的shape碰撞 / 298
14.2.2 box2d的碰撞 / 299
14.3 开始计算玩家的得分 / 300
14.4 《墓地》(第1关)场景 / 300
14.4.1 常量和字段 / 300
14.4.2 onloadengine方法与onloadresources方法 / 303
14.4.3 onloadscene方法 / 304
14.4.4 mstartvamp任务 / 306
14.5 《打吸血鬼》 / 307
14.5.1 常量和字段 / 307
14.5.2 onloadscene方法 / 308
14.5.3 opencoffin和closecoffin方法 / 309
14.6 《愤怒的村民》 / 310
14.6.1 常量和字段 / 310
14.6.2 onloadscene方法 / 311
14.6.3 onloadcomplete方法 / 312
14.6.4 addstake方法 / 313
14.7 总结 / 314
14.8 习题 / 314
第15章 多媒体扩展包 / 315
15.1 下载多媒体扩展包 / 316
15.2 动态壁纸 / 317
15.2.1 android动态壁纸 / 317
15.2.2 创建v3的android动态壁纸 / 318
15.3 mod格式音乐 / 322
15.3.1 搜寻mod格式的音乐 / 322
15.3.2 xmp mod播放器 / 323
15.4 多人游戏 / 324
15.5 andengine的多点触摸 / 326
15.6 增强现实游戏 / 328
15.7 总结 / 332
15.8 习题 / 332
第16章 游戏集成 / 334
16.1 困难度调节 / 336
16.1.1 困难度参数的保存 / 336
16.1.2 困难度参数的设定 / 337
16.2 游戏结束画面的代码 / 337
16.3 第1关:主游戏 / 340
16.4 《打吸血鬼》 / 345
16.5 《愤怒的村民》 / 347
16.6 选项菜单 / 350
16.7 总结 / 350
16.8 习题 / 350
第17章 测试与发行 / 352
17.1 应用程序商业模式 / 353
17.2 测试与发行准备工作 / 354
17.2.1 在实际设备上测试游戏 / 354
17.2.2 考虑加入终端用户许可协议 / 355
17.2.3 向manifest文件加入图标与标签 / 357
17.2.4 关闭记录与调试功能 / 357
17.2.5 在游戏中增加版本号 / 357
17.2.6 获取密钥 / 358
17.2.7 编译与签名最终的.apk文件 / 359
17.2.8 测试最终的.apk文件 / 359
17.3 发行游戏 / 360
17.3.1 android market / 360
17.3.2 amazon app store / 362
17.4 推广游戏 / 363
17.4.1 app store推广 / 364
17.4.2 游戏评论网站推广 / 366
17.4.3 手机广告 / 366
17.4.4 口碑营销 / 367
17.4.5 社交网络推广 / 367
17.5 总结 / 367
附录 习题解答 / 369
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

对于那些渴望理解移动游戏性能瓶颈的资深开发者来说,这本书的价值也同样不可忽视。它的篇幅虽然聚焦于基础,但深度却足够让人惊叹。我印象最深的是关于多线程与UI线程分离的章节。在Android环境下,任何耗时操作都可能导致ANR(Application Not Responding),而游戏开发更是重灾区。作者详尽地讨论了Handler、AsyncTask(虽然现在不推荐,但其思想仍有价值)以及Kotlin Coroutines在游戏状态管理和异步加载中的最佳实践。他不仅展示了代码,更重要的是分析了每种选择背后的上下文切换成本和同步机制。这使得我能够根据不同的游戏场景——比如资源下载、AI计算、网络同步——选择最合适的并发模型,从而极大地优化了我的项目响应速度。这本书的深度已经超越了“入门”的范畴,它深入到了移动平台特有的限制与优化之道,是构建高性能移动应用架构的绝佳参考。

评分

老实说,我原本以为市面上关于移动游戏开发的指南都会把重点放在Unity或Unreal这些大而全的引擎上,但这本侧重于原生开发的实践指南,给了我一个完全不同的视角。它没有回避原生开发在游戏领域面临的挑战,反而将其转化为学习的契机。书中对Canvas渲染、SurfaceView与TextureView的对比分析,以及如何高效利用OpenGL ES进行2D/3D加速的介绍,非常具有实操价值。我特别欣赏作者在讲解坐标系转换和碰撞检测算法时的严谨态度。他没有直接抛出数学公式,而是通过生动的场景模拟,将向量、矩阵等概念融入到实际的游戏逻辑中,让原本枯燥的数学知识变得直观易懂。我尝试着按照书中的步骤实现了一个简单的物理模拟小球反弹效果,从事件监听、状态更新到最终的屏幕绘制,每一步的逻辑都清晰可见,这比直接使用某个内置的物理引擎“黑箱”要有趣和有启发得多。这本书更像是一本“内功心法宝典”,教你如何从零开始构建一个高效且可控的游戏底层框架。

评分

我必须承认,在阅读这本书之前,我一直对如何将传统的软件工程原则应用到快速迭代的游戏开发中感到困惑。这本书提供了一个非常实用的思维框架。它不仅仅是教你如何画一个圆或者让一个物体动起来,更重要的是它强调了软件设计模式在游戏开发中的应用。书中对观察者模式在事件通知系统中的应用、状态机在AI行为决策中的运用,都有非常清晰的示例代码和详尽的解释。我尤其欣赏作者关于“解耦”的论述,他展示了如何设计一个清晰的模块接口,使得场景管理器、渲染器和输入处理器之间可以独立升级而不互相干扰。这对于任何想要构建可维护、可扩展的大型游戏的开发者来说,都是宝贵的经验。它教会我,优秀的游戏不光要好玩,更要“好写”和“好改”,这本书无疑是我工具箱里最实用的设计蓝图之一。

评分

这本书简直是初学者的福音,尤其对于我这种对原生安卓开发还不太熟悉,但又对游戏制作抱有浓厚兴趣的读者来说,它提供了一个非常扎实且系统的入门路径。作者的叙述方式极其清晰流畅,不像有些技术书籍那样堆砌晦涩的术语,而是像一位经验丰富的导师在手把手地教你。它没有直接扑向那些花里胡哨的复杂引擎,而是从最基础的Android组件、UI绘制原理开始讲起,让你明白“游戏”背后的“应用”是如何构建的。举例来说,书中关于游戏循环(Game Loop)的讲解,不是简单地给出一个代码片段,而是深入剖析了为什么需要它、它在不同设备上的帧率同步处理会遇到哪些坑,以及如何用Java或Kotlin优雅地实现它。这种对底层逻辑的透彻阐述,让我对后续学习任何游戏框架都充满了信心,因为我知道自己已经掌握了核心的内功心法,而不是只会调用API的“搬砖工”。特别是关于资源管理的章节,它细致地讲解了位图的加载优化和内存释放策略,这对于保证游戏在低端设备上也能保持流畅性至关重要,读完后感觉自己对移动端性能优化的理解提升了一个档次。

评分

这本书的排版和学习路径设计简直太人性化了。从目录结构就能看出,作者对读者的学习曲线考虑得非常周到。它采用了“理论先行,实践跟进”的螺旋式上升结构。前几章打好Android基础,紧接着就引入了游戏开发的最小可行产品(MVP)概念,让你快速获得成就感。最令人称道的是,它引入了一个贯穿全书的项目——一个像素风格的平台跳跃游戏。这个项目并非一次性完成,而是在不同的章节中逐步迭代和优化的。比如,第一阶段只实现基本移动和跳跃,第二阶段加入碰撞和简单的敌人AI,第三阶段则专注于音效集成和数据持久化。这种“增量开发”的方式,让我始终能保持学习的动力,并且能清晰地看到自己的代码是如何随着新知识点的引入而不断强化的。相比那些一口气讲完所有技术点、让人望而生畏的巨著,这本书的节奏感极佳,真正做到了寓教于乐。

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有