J2ME游戏开发
J2ME & Gaming
Jason Lam 著
Deaboway Chou 译
http://deaboway.blogchina.com/
译者 日期 内容 版本
deaboway
2004-11-20
创建文档
0.0.1
deaboway
2004-12-9
完成英文版本 0.5.6 的翻译工...
J2ME & Gaming
Jason Lam 著
Deaboway Chou 译
http://deaboway.blogchina.com/
译者 日期 内容 版本
deaboway
2004-11-20
创建文档
0.0.1
deaboway
2004-12-9
完成英文版本 0.5.6 的翻译工作
0.1.0
作者 日期 内容 版本
Jason Lam
2003-9-1
创建文档
0.5.0
Jason Lam
2003-9-18
在文档中并入所有已完成章节
0.5.1
Jason Lam
2003-10-4
在 JEMBlazer 中加入一个简短的介绍
在有限的章节中的第 10 章(提高可用性)中添加
暂停、删除、保存组件
0.5.2
Jason Lam
2003-10-13
完成第 12 章
0.5.3
Jason Lam
2003-11-29
完成第 18 章
0.5.4
Jason Lam
2004-5-8
完成第 17 章
0.5.5
Jason.Lam
2004-6-30
完成第 13 章,创建第 14 章,增加了第 19 章的部
分内容
将一些NPC行动代码分配给Jonathan Knudsen完成
由Leeman Cheng 和 Carlo Casimiro两人完成艺术
设计的工作
0.5.6
I
译者 序
I have a dream! It’s “Play Games Everywhere…”.
我有一个梦想,就是“让游戏无处不在”!
时光匆匆滑过了 2004 年,也带来了很多改变。从 MIDP 2.0 发布开始到现在已
经有两年多了,它的出现让移动设备上的游戏开发更加方便、也更为简单快捷。当
我一年前发现 MIDP 2.0 技术的时候,我同时感觉到我们离随时随地玩游戏的那一天
不再遥远。
每一个人都会玩游戏,都喜欢玩游戏;但是并不是每一个人都会开发制作游戏。
要让游戏无处不在,还需要更多的人学会开发游戏。相信好学的你在玩过几个好玩
的游戏后总会问:这个游戏是怎么做出来的?我是否也可以做出同样出色的游戏?
我该如何学习游戏的制作?…… 游戏有很多种——这在本书中会讲到——在当今
的 2004 年如果想找一种游戏,它甚至只需要一个人业余很少的时间和精力就可以制
作出,而且有可能会非常受欢迎的游戏,我想非移动游戏莫属!
本书就是 J2ME 移动游戏(主要是手机游戏)制作的入门读物,只要你具备 JAVA
编程的基础知识并且了解一些 J2ME 的背景知识,通过本书的学习,你就能创造出
自己的游戏。当然,最最重要的还是读者你的创意!毕竟知识有崖,创意无限!
译者本身也是一个业余的游戏制作者,本着自由软件的精神翻译这本书,读者
可以在确保完整性的前提下自由的分发本电子书,出版本书请联系译者,出版原英
文版请联系原作者。由于本书原文还没有完成,译者将在原作者写作的同时进行翻
译。由于翻译都是在业余时间进行,在工作了一整天后,精力难免难以集中,本书
中肯定会有很多错误,期待读者的批评指正,译者绝对知错就改。☺☺☺☺☺
接下来,译者准备制作几个基于 MIDP 2.0 的手机游戏,并且打算翻译 J2ME
API,感兴趣的朋友请跟我联系。此外,也希望同对 RUP 感兴趣的读者交个朋友。
译者的联系方式如下:
E-mail/MSN: deaboway@hotmail.com
E-mail: deaboway@163.com
OICQ: 77337595
Blog: http://deaboway.blogchina.com/
译者
2004 年末
II
内容简介
本书涉及在无线设备上使用J2ME技术的程序设计,主要介绍游戏的开发。需要
读者具有一些J2ME和J2SE的相关知识及程序设计的经验。书中不会过多地描写类似
如何创建高级的GUI菜单的方法,但是会演示游戏的主菜单究竟是什么样子。当然也
不会解释如何使用RMS(Record Management System),但是会使用RMS技术实现高分
记录和游戏设置功能。同时,读者具有线程的相关知识和经验对进行游戏开发比较
有帮助。总而言之,本书不会过多地关注J2ME的具体知识,而是着眼于实际游戏相
关功能的实现。不过,书中将具体介绍一些在MIDP2.0中新加入的与Game相关的类。
本书也可作为对手机游戏开发感兴趣的Java程序设计人员的快速参考。同时,
也可作为具有其他语言或者平台的游戏开发经验并且想使用J2ME开发游戏的游戏开
发者的优秀入门读物。
III
目 录
第一篇 基 础 知 识 .......................................................................................................................... 1
第一章 绪论................................................................................................................................. 2
1.1 本书的目标............................................................................................................................... 2
1.2 移动游戏................................................................................................................................... 2
1.3 开发工具................................................................................................................................... 3
1.4 其他........................................................................................................................................... 4
1.5 开天辟地第一步——开始开发............................................................................................... 6
1.6 推向市场................................................................................................................................... 9
1.7 总结......................................................................................................................................... 10
第二章 移动游戏的限制........................................................................................................... 12
2.1 内存......................................................................................................................................... 12
2.2 显示大小和分辨率................................................................................................................. 12
2.3 手机界面................................................................................................................................. 13
2.4 缺少类文件............................................................................................................................. 14
2.5 开发者和使用者眼中的性能................................................................................................. 14
2.6 提高性能................................................................................................................................. 14
2.7 总结......................................................................................................................................... 17
第三章 编码之前.......................................................................................错误!未定义书签。
3.1 概述.........................................................................................................错误!未定义书签。
3.2 游戏策划.................................................................................................错误!未定义书签。
3.3 开发过程控制.........................................................................................错误!未定义书签。
第四章 MIDP 2.0 的GAME类....................................................................错误!未定义书签。
4.1 GameCanvas类 .......................................................................................错误!未定义书签。
4.2 GameCanvas基础实例 ...........................................................................错误!未定义书签。
4.3 Sprite类 ...................................................................................................错误!未定义书签。
4.4 LayerManager类.....................................................................................错误!未定义书签。
4.5 TiledLayer类 ...........................................................................................错误!未定义书签。
第五章 数学约束.......................................................................................错误!未定义书签。
5.1 概述.........................................................................................................错误!未定义书签。
5.2 定点数.....................................................................................................错误!未定义书签。
5.3 基础三角函数和精灵移动.....................................................................错误!未定义书签。
5.4 精灵移动实例.........................................................................................错误!未定义书签。
第二篇 ELIMINATOR 实 例 ........................................................................ 错误!未定义书签。
第六章 ELIMINATOR:介绍.......................................................................错误!未定义书签。
6.1 概述.........................................................................................................错误!未定义书签。
6.2 工具使用.................................................................................................错误!未定义书签。
6.3 简短的游戏描述.....................................................................................错误!未定义书签。
第七章 ELIMINATOR:游戏启动画面.......................................................错误!未定义书签。
7.1 概述.........................................................................................................错误!未定义书签。
7.2 源代码.....................................................................................................错误!未定义书签。
第八章 ELIMINATOR:游戏主菜单...........................................................错误!未定义书签。
8.1 概述.........................................................................................................错误!未定义书签。
I
8.2 主菜单外观.............................................................................................错误!未定义书签。
8.3 基本主菜单.............................................................................................错误!未定义书签。
8.4 包含子菜单的主菜单.............................................................................错误!未定义书签。
8.5 菜单设计的建议和提高.........................................................................错误!未定义书签。
8.6 小结.........................................................................................................错误!未定义书签。
第九章 ELIMINATOR:异常处理...............................................................错误!未定义书签。
第十章 ELIMINATOR:设置和高分记录...................................................错误!未定义书签。
10.1 概述.......................................................................................................错误!未定义书签。
10.2 RMS数据结构 .......................................................................................错误!未定义书签。
10.3 设置Settings和高分记录High Score设计 ............................................错误!未定义书签。
10.4 源代码...................................................................................................错误!未定义书签。
10.5 模拟器截屏...........................................................................................错误!未定义书签。
第十一章 ELIMINATOR:地形(卷动背景)...........................................错误!未定义书签。
11.1 概述 .......................................................................................................错误!未定义书签。
11.2 游戏场景 ...............................................................................................错误!未定义书签。
11.3 一个简单Terrain(地形).........................................................................错误!未定义书签。
11.4 多重地形的地图类 ...............................................................................错误!未定义书签。
第十二章 ELIMINATOR:玩家和子弹.......................................................错误!未定义书签。
12.1 概述.......................................................................................................错误!未定义书签。
12.2 图像.......................................................................................................错误!未定义书签。
12.3 源代码...................................................................................................错误!未定义书签。
第十三章 ELIMINATOR:场景切换 .............................................................错误!未定义书签。
13.1 代码整理和精简...................................................................................错误!未定义书签。
13.2 场景切换...............................................................................................错误!未定义书签。
第十四章 ELIMINATOR:游戏内容 .............................................................错误!未定义书签。
14.1 敌人.......................................................................................................错误!未定义书签。
14.2 能力提升...............................................................................................错误!未定义书签。
第十五章 ELIMINATOR:老怪(BOSS) ..................................................错误!未定义书签。
第十六章 ELIMINATOR:游戏其它 .............................................................错误!未定义书签。
16.1 声音和振动...........................................................................................错误!未定义书签。
16.2 二进制数据...........................................................................................错误!未定义书签。
16.3 数据下载/更新......................................................................................错误!未定义书签。
第三篇 更 多 技 术 ........................................................................................ 错误!未定义书签。
第十七章 提高可用性...............................................................................错误!未定义书签。
17.1 暂停、返回和保存...............................................................................错误!未定义书签。
17.2 Unicode和世界范围的语言支持 .........................................................错误!未定义书签。
第十八章 加入时间约束...........................................................................错误!未定义书签。
18.1 概述.......................................................................................................错误!未定义书签。
18.2 实现方法...............................................................................................错误!未定义书签。
18.3 增强对游戏的保护...............................................................................错误!未定义书签。
18.4 价值和价格...........................................................................................错误!未定义书签。
18.5 实例.......................................................................................................错误!未定义书签。
第十九章 特征化界面...............................................................................错误!未定义书签。
19.1 主菜单...................................................................................................错误!未定义书签。
19.2 配件输入...............................................................................................错误!未定义书签。
19.3 字符化输入...........................................................................................错误!未定义书签。
II
其它章节...........................................................................................................错误!未定义书签。
附 录 .................................................................................................................. 错误!未定义书签。
附录A:运行书中实例....................................................................................错误!未定义书签。
附录B:编译工具 ............................................................................................错误!未定义书签。
B.1 使用Ant...................................................................................................错误!未定义书签。
B.2 使用Ant&Antenna ..................................................................................错误!未定义书签。
附录C:OTA....................................................................................................错误!未定义书签。
III
第一篇 基 础 知 识
¾ 绪论
¾ 移动游戏的约束
¾ 编码之前
¾ MIDP2 新加的游戏类
¾ 数学约束
J2ME 游戏开发——基于 MIDP2.0
第一章 绪论
1.1 本书的目标
欢迎来到移动游戏的世界!第一篇(第一章到第五章)主要包含如下内容:
移动游戏产业的方向
开发自己移动游戏可以使用的工具
开发移动游戏可能会面临的困难
游戏设计和开发过程中要注意的事项
然后,剩下的章节将介绍一个基础游戏的建立过程,虽然游戏本身并没有太大
价值,但是它的确提供了设计一个游戏、特别是基于 J2ME 技术的移动设备的游戏
的基本流程。除了介绍游戏本身,它还涉及了移动设备程序开发的其它领域,例如
游戏主菜单的界面设计。
1.2 移动游戏
1.2.1 时机成熟
移动游戏就在眼前,时候到了!随着游戏开发技术的进步,现在你可以随时随
地的玩所有你喜欢的游戏,从Pac-man, Bust-A-Move到具有更加交互性的规则的游
戏。然而,移动工业领域的游戏和应用程序却仍然处在它的幼年期,开发人员、制
造商、运营商都一直在寻找一个震撼人心的游戏或者应用程序的到来,从而促进移
动设备工业的革新并带来数以百万计的税收。诚然,图像越来越华美、游戏性越来
越完善,但是每一个手机游戏的用户却只有寥寥几千名而不是上百万。这对我们游
戏开发者来说是好事,它留给我们很大的成长空间,有数不清的金钱让我们去兑现。
1.2.2 与传统游戏的差别
现在是独行侠的大好时机,因为 J2ME 技术需要相对较少的花费和工作任务。
这就好像回到了过去一个人就可以在地下室搞定程序并且制作出完整的游戏的时
代。比较一下当前的移动设备时代和以前的任天堂(Nintendo)时代,现在可以称
为 Atari 时代的开元。大约在一年之前大量的经典游戏在移动设备上被重新制作,
同时,游戏的图案的进化却是比较缓慢,当前的游戏非常类似于 NES 或者 Super NES
上的游戏。
移动设备还处在黑暗时代,只能提供很少的资源给图案、人工智能(AI)和多用户
同时游戏功能。它不需要60个美工、20个程序员和先进的图形图像设备所组成的团
队来开发一个为期一年的游戏,相反,移动设备的游戏开发可以由1到5人组成的小
组容易地开发,一般预算只有几千美元到上万美元,而不像PC游戏世界的动辄上百
2
J2ME 游戏开发——基于 MIDP2.0
万美元的预算。最近,移动设备上的游戏开始实现网络通讯,从而支持多用户同时
游戏。手机制造商、运营商或者其它组织并不关心你做什么样的游戏,不像PC和控
制台上的游戏往往基于几个要素或者几个人的决定,这里的几个人却通常不是游戏
开发团队,而是对利润感兴趣的组织,比如市场营销部门。大多数移动游戏开发工
具和标准都是被原始制作者、制造商和运营商开放的。此外,传统游戏世界需要寻
找针对Xbox、PlayStation或者其它控制台的各种信息和资料,而且同一个游戏很难
运行于所有这些控制台。移动游戏在一定程度上克服了这个缺点。
总而言之,移动游戏和传统游戏的区别如下:
低预算、低成本
开发团队小
技术易于管理,不需要像图形图像设备这类特殊的设备
基于开放的标准
移动电话本身的特点为支持多人同时游戏铺平了道路
1.3 开发工具
移动游戏开发的一些可用平台如下:
SUN公司的J2ME(Java 2 Micro Edition)——http://wireless.java.sun.com/
MoPhun——http://www.mophum.com/
Brew——http://www.brew.com/
这里没有将移动设备的操作系统(例如 PalmOS 和 SymbianOS)加入,是因为
这些操作系统本书可以支持 J2ME 环境。
本书将主要介绍J2ME(Java 2 Micro Edition),这里有一些软件开发包可以使用。
为了使你开发的游戏可以在不同的制造商和不同型号的移动设备上正常运行,你需
要使用尝试很多不同SDK。最主要也是最常用的SDK是由Sun公司开发的J2ME
SDK,可以由http://wireless.java.sun.com/下载,其它开发包的下载地址如下:
开发商 网址
Nokia http://forum.nokia.com/
SonyEricsson http://www.sonyericsson.com/
Sony Clie http://www.cliedeveloper.com/top.html
Motorola http://www.motocoder.com/
Nextel http://developer.nextel.com/
RIM http://www.blackberry.net/developers/na/index.shtml
Siemens http://www.siemens-mobile.com/
SprintPCS http://developer.sprintpcs.com/adp/index.do
Palm http://www.palmsource.com/developers/
Symbian http://www.symbian.com/
3
J2ME 游戏开发——基于 MIDP2.0
BellMobility http://www.developer.bellmobility.ca/
有一些用于J2ME开发的IDE。一些IDE能完全整合了其它的开发包,例如Sun
One Studio Mobile Edition 可以很容易地整合SprintPC J2ME SDK、Sun公司的SDK、
Nokia公司的SDK以及Siemens公司的SDK。
厂商 网址
Sun One Mobile Edition http://wwws.sun.com/software/sundev/jde/
Jbuilder Mobile Edition http://www.borland.com/
Code Warrior Wireless
Studio
http://www.metrowerks.com/MW/Develop/Wireless/Wireless_
Studio/default.htm
WhiteBoard SDK http://www.zucotto.com/home/index.html
IBM Studio Device
Developer formly know
as IBMVisualAge
MicroEdition
http://www-3.ibm.com/software/wireless/wsdd/
1.4 其他
除了各种软件组织、制造商和运营商提供的工具和 IDE 外,想必你会对下面介
绍的工具和软件包感兴趣。
1.4.1 3D
虽然由于移动设备的限制现在的很多移动游戏都是 2D 的,但是还是在一些高
端的移动设备上实现了 3D。当然,技术的发展也使游戏工作站和 PC 机上的 3D 游
戏更加普遍。
J2ME中正开发的支持3D图形的技术有JSR,在MIDP 2.0 3D JSR 184发布后,JSR
有可能会发布新的版本——Mobile 3D Graphics API for J2ME,想了解更多的信息请
参考http://jcp.org/en/jsr/detail?id=184。
被广泛用于3D图形显示的OpenGL也开发了针对移动设备的版本——OpenES,
更多信息请参考http://www.khronos.org/embeddedapi/index.html。FatHammer公司
(http://www.fathammer.com/)已经将OpenES OMAP平台整合到他们的X-Forge的3D游
戏引擎的SDK中。
还有一个3D引擎是MoPhun,请参考http://www.mophun.com/。
从现在的移动设备情况看,虽说谈3D还有些为时过早,但是这方面的技术的确
在稳步地发展中。
4
J2ME 游戏开发——基于 MIDP2.0
1.4.2 多人游戏
除了单机游戏,有大量的其他技术来开发出多人游戏。
J2ME 技术默认支持通过 HTTP/HTTPS 的通讯,另一个选择是使用被称为 Jini
的代理 J2ME 体系结构。如果运营商支持 socket 通讯,我们还可以在游戏中通过扩
展 socket 实现联网。然而,这样就不仅仅需要通讯
的支持,还需要一个可以生
成和处理各种相关信息的游戏服务器,这些信息有可能是:
游戏大厅
游戏场所
跟踪用户的交互
身份验证
聊天室
即时信息
监控和统计工具
游戏场所本身就扮演仲裁者或者交警的角色,它可以中转信息给用户或者给当
前运行的各个游戏。
实现这个功能的确需要做大量的工作,然而,这里有一些公司已经提前做好了
游戏服务器:
DemiVision-http://www.demivision.com/(已经整合到JamDat.com)
Mforma-http://www.mforma.com/
Xadra-http://www.xadra.com/
Butterfly.net-http://www.butterfly.net/
TerraPlay-http://www.terraplya.com/
不仅仅是开发基于广域网的游戏,还可以开发小区域网的游戏,这项技术叫做
蓝牙。蓝牙实现的功能与基于 HTTP 协议实现互联的游戏类似,但是蓝牙有一定的
地域限制,一些比较好的与蓝牙和 J2ME 技术相关的链接如下:
Zucotto Wireless-http://www.zucotto.com/
RococoSoft-http://www.rococosoft.com/
此外,还有其它的技术可以实现移动游戏的联网,其中有因为Napster的成功而
最广为人知的P2P技术。Java技术的P2P技术可以访问http://www.jxta.org/和
http://jxme.jxta.org/。另一个由苹果公司开发的P2P技术是Rendezvous,它支持自动广播
及客户端和服务器端之间的发现服务。
1.4.3 运行移动游戏的设备
不光是蜂窝电话,移动游戏还可以运行在 PDA、SumbianOS、微软的 SmartPhone
上,虽然它们中的一些并没有安装运行 J2ME 程序和游戏的 JVM 环境,也就是说你
5
J2ME 游戏开发——基于 MIDP2.0
也许要在开发过程中自己安装 JVM 环境。
也存在像 JEMBlazer 这种小生境设备,有关 JEMBlazer 的介绍如下:
“是不是厌倦了在只有小小的屏幕、困难的控制、差劲的系统性能的手机上玩
移动游戏?aJile Systems JEMBlazer Jflame扩展卡将使你的GBA或GBA SP支持Java
游戏,从而使你可以随意地下载因特网上的各种Java游戏进行游戏。JEMBlazer基于
Sun公司的MIDP,它可以运行基于MIDP1.0/2.0及其它多媒体MIDlet开发的游戏。同
时,JEMBlazer扩展卡也具有超炫的游戏音乐,使你尽情享受究极的MIDP游戏”
更多有关JEMBlazer的信息请访问他们的网站http://www.jemblazer.com/。
图 1:JEMBlazer 的庐山真面目
1.5 开天辟地第一步——开始开发
1.5.1 开个小头
以上介绍了支持移动游戏开发的工具和各种技术,在阅读本书中的例子之前先
要确定制作哪种类型的游戏。如果你尚没有任何游戏编程的经验,就需要从简单的
游戏编程开始。编写一个单机版的游戏不需要太多的可视和交互的界面,但是仍然
可以使你对游戏开发以及开发一个完整的游戏需要的信息有很好的理解。不要试图
一蹴而就,第一个游戏就是白金销量,你会遇到很多障碍,也许就会因此而气馁,
从此一蹶不振。先完成一个简单的游戏并体会成功的快感,然后在做一些困难的游
戏吧!
一般来说,以图片较少的简单场景切换游戏开始比较好,因为它的图形和线程
都比较容易控制。这里面的佼佼者是 TicTacToe,从这里你可以学到游戏的运行是如
何实现的,也可以学习简单的人工智能。也许下一个选择就是学习开发类似 Tetris
6
J2ME 游戏开发——基于 MIDP2.0
的游戏,通过对这种伟大游戏的模仿,可以从中学到游戏的基本交互、用户控制/
输入、图像处理、平铺显示的使用。然后你可能想要开发一个类似于 Space Invaders
的基础射击游戏,或者像 Mario Brothers 一样的卷轴游戏。在开发了所有这些游戏
之后,可以说你应该具有了开发更为复杂的游戏的能力。当然,开发更为吸引人的
更具有可玩性的游戏需要更加出色的图像和人工智能。
1.5.2 游戏的种类和流派
游戏有多少种呢?日常所见的任何游戏都可以区分到特定的流派下,可以说这
个世界上没有全新的游戏!一些游戏可能看起来超炫的,但是如果你将它们拆开来
看的话,它们仅仅是重新应用了以前游戏的一点或几点好的创意。像DukeNukem,
Doom,Quake,Freelancer,Counter Strike,Return Castle Wolfestein。它们其实都是
同一种类型的游戏,唯一的区别是有的是2D的而有的是3D的。
游戏可以分为以下几种类型:
种类 描述
动作游戏(Arcade/Action) 快节奏、图像丰富、高度交互性的。如 Quake 和 Freelancer
益智类游戏(Puzzle) 需要逻辑推理的游戏,如 Tetris
卡片游戏(Card) 类似 Poker、BlackJack 的游戏
战略游戏(Strategy) 需要大量思考和战术移动以及微操,如 Command and
Conquer、Warcraft
角色扮演游戏
(Role Playing Game)
需要用户遵守游戏规则,而且通常包括长时间的人物塑
造,如 Dungeons and Dragons
运动游戏(Sport) 和运动相关的游戏
表中是最常见的游戏类型,当然还有其它游戏类型像琐事类游戏(trivia)、模拟
游戏(simulation)、机会类游戏(chance)如 Magic 8 Ball 等等…
1.5.3 学习游戏创意
一般情况下,你以爱好或者学习的目的重新制作一个游戏不会有什么问题,但
是如果你想克隆一个商业游戏并把它推向市场就会有麻烦了。然而,重新制作和克
隆游戏之间的界限并不是非常明显的。例如,你或许看到市面上 N 多类似于 Tetris
的商业游戏,那是因为它们都没有使用 Tetris 这个具有版权的名称。而所谓的界线
也就是看你模仿的是内容还是游戏创意了,这的确比较难以区分。如果你确实计划
制作一款商业游戏,你最好尝试获得一个自己原创的创意或者整合其它一些成功游
戏的各种创意于一身。如果你的游戏类似于市面上已有的游戏,很多游戏发行商不
会愿意发布你游戏的,在游戏的生命周期只有 3 到 6 个月的移动工业中更是如此。
即使你只是由于个人爱好发布一个游戏,大多数人还是会选择全新的游戏而不是对
Tetris 的另一份克隆。
7
J2ME 游戏开发——基于 MIDP2.0
1.5.4 竞争
在任何一种产业中,都可以通过向其他人学习并评估究竟什么是没有被完成的,
来了解这种产业当前的竞争状态。
下面是一些可以了解行业最新资讯的网
本文档为【J2ME游戏开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。