Andriod手机游戏软件沙画涂鸦.docx
《Andriod手机游戏软件沙画涂鸦.docx》由会员分享,可在线阅读,更多相关《Andriod手机游戏软件沙画涂鸦.docx(21页珍藏版)》请在冰豆网上搜索。
![Andriod手机游戏软件沙画涂鸦.docx](https://file1.bdocx.com/fileroot1/2023-4/18/96afbdae-323a-48f3-baff-327af85f55bd/96afbdae-323a-48f3-baff-327af85f55bd1.gif)
Andriod手机游戏软件沙画涂鸦
沈阳师范大学
科信软件学院
Linus/Linus结课设计
课题名称:
沙画涂鸦
姓名:
XXXXXX
学号:
XXXXXXXX
手机:
XXXXXXXXXXXX
专业年级:
XXXXXX
序言1
1、沙画的背景以及软件概述1
1.1沙画背景1
1.2软件概述1
2、软件的策划以及准备工作2
2.1软件策划2
2.1.1软件构思2
2.1.3运行的目标平台2
2.1.4操作方式2
2.1.5呈现技术2
2.2Andriod平台下的准备工作2
3、软件架构2
3.1软件框架简介2
3.2各个类的简要介绍3
3.2.1公共类3
3.2.2辅助界面相关类3
3.2.3主界面相关类3
4、公共类的实现4
4.1主控制类——SandPaintingActivity4
4.2常量类——Constant5
5、辅助界面相关类的实现5
5.1欢迎界面类——WelcomeView5
5.2刷帧线程——WelcomeViewDrawThread6
6、主界面相关类的实现6
6.1原子动作类——AtomAction6
6.2动作类——ActionGroup7
6.3数据记录类——Record7
6.4背景颜色选择类——BgColorView8
6.5设置界面类——SetupView8
6.6对话框类——MyDialog9
6.7显示结果集类——ShowGalleryView9
6.8主界面类——MainView10
6.9主界面刷帧线程——MainViewDrawThread10
7、运行截图与部分功能演示11
参考文献15
序言
沙画艺术是近年刚刚兴起的一种与舞台艺术相结合的表演形式,最早由世界著名沙画大师FerencCako所创造。
它是指在白色背景板上现场用沙子作画,并结合音乐通过投影展现在屏幕上,沙画具有的那种独特的表演魅力,能使现场观众进入梦幻般的感觉和前所未有的视觉享受。
1、沙画的背景以及软件概述
1.1沙画背景
在世界著名沙画大师FenrencCako创建沙画后,许多沙画大师逐渐将艺术融合到沙画中来,这使得沙画逐渐分为两种。
一种是“儿童沙画”,另一种是“金丝彩沙画”,从影响力来说“儿童沙画”是目前沙画的主要表现形式,而“金丝彩沙画”主要用于装饰与收藏。
本软件以沙画为主题,将沙画融入到手机中,使沙画爱好者可以随时随地进行沙画作业。
这去除了平时制作沙画的限制,给沙画爱好者充分的发挥空间。
1.2软件概述
(1)运行本软件后,首先进入的是欢迎界面。
当欢迎界面播放完毕后,本软件会自动跳转到软件主界面,在盖主界面可以绘制沙画。
(2)在主界面点击右侧的
按钮,可以绘制沙画。
点击
按钮,可以对已经做好的沙画进行擦除。
(3)点击主界面右侧的
按钮可以对已经绘制的沙画逐步撤销。
点击右侧的
按钮,可以选择其他样式的背景。
(4)当选中背景色中的一种之后,沙画绘制区域的背景随之变化。
点击主界面右侧的
按钮,打开本软件的设置界面。
(5)在设置界面点击“新建沙画”按钮,会跳转到程序开始时的界面。
点击“保存沙画”按钮弹出对话框,在对话框中可以输入沙画名称。
点击对话中的“确定”按钮,可以保存此时的这幅沙画,并且弹出Toast提醒用户。
(6)在设置界面点击“画笔设置”按钮,可以对画笔半径以及画笔填充率进行设置。
点击“作品集”按钮可以查看保存的结果集。
点击“退出”按钮可以退出本软件。
如果再次进入,则重置所有的设置。
2、软件的策划以及准备工作
2.1软件策划
2.1.1软件构思
本软件以沙画为依托,结合如今最流行的Andriod手机,使得用户可以随时随地地绘制沙画。
在本软件中可以填沙、清沙、撤销、保存沙画、画笔设置以及浏览已经保存的沙画作品。
2.1.3运行的目标平台
本软件的运行目标平台为Android2.1、Android2.2或者是更高的Android版本。
2.1.4操作方式
本软件通过触摸屏幕进行操作,玩家可通过触摸屏幕上的按钮选择不同的绘制方式。
2.1.5呈现技术
本软件界面采用的是2D贴图技术以及使用画笔绘制图形技术。
2.2Andriod平台下的准备工作
1、由于该软件使用Eclipse作为主要的开发工具,所以在开发之前需要检查Eclipse是否已经配置好。
2、准备软件用到的图片资源。
3、软件架构
3.1软件框架简介
软件的类框架
3.2各个类的简要介绍
3.2.1公共类
1、主控制类——SandPaintingActivity
该类继承自Activity,是整个软件的主控制类,其在程序开始时运行。
2、常量类——Constant
该类封装了本软件的所有常量,以及处理图片的方法,这样便于程序管理。
3.2.2辅助界面相关类
1、欢迎界面类——WelcomeView
该类为欢迎界面类,主要负责欢迎界面的绘制工作。
2、刷帧线程——WelcomeViewDrawThread
该类为欢迎界面的刷帧线程,在该线程中不断的改变透明度的值,从而达到渐变的效果。
3.2.3主界面相关类
1、原子动作类——AtomAction
该类是原子动作类,实现了java.ioSerializable接口,主要是存储了每一笔中每一段的数据。
并且创建了自定义的绘制方法drawSelf,在该方法中根据选择的填沙按钮或者清沙按钮的不同,执行不同的绘制方式。
2、动作类——ActionGroup
该类是动作类,其也实现了java.ioSerializable接口,主要是记录了触控按下的时间,原子动作类集合以及每一幅位图的半径。
3、数据记录类——Record
该类主要是记录每一幅沙画的记录,然后将该类的对象转换为相应的二进制数据或者将二进制数据转换为该类的对象。
4、背景颜色选择类——BgColorView
该类是背景类,在该类中定义了几幅可选的背景图片,用户可以根据自己的喜好选择不同的背景。
5、设置界面类——SetupView
在该类中主要是对设计界面进行绘制,并重写了onTouchEvnet方法,在方法中根据点击区域的不同,执行不同的动作。
6、对话框类——MyDialog
该类为继承系统对话框类,在该类中重写了onCreate方法以及toString方法。
7、显示结果集类——ShowGalleryView
该类为显示结果集的类,在该类中绘制出了已经存储的沙画作品,并且可以点击“上一页”按钮或者“下一页”按钮查看相应的其他沙画作品。
8、主界面类——MainView
该类为本软件的主界面类,主要负责绘制背景、各个按钮以及沙画,同时在该类中重写了onTouchEvent方法,在该方法中根据触控按钮的不同执行不同的动作。
9、界面刷帧线程——MainViewDrawThread
本类是界面刷帧线程,该类继承自Thread,并且根据循环标志位的执行重新绘制线程或者不执行。
4、公共类的实现
4.1主控制类——SandPaintingActivity
主控制类SandPaintingActivity继承自Activity,在程序开始时执行,在该类中创建了Handler内部类,并且重写了创建对话框的方法onCreateDialog以及每次弹出对话框时被回调以动态更新对话框内容的方法onPrepareDialog,本类代码如下:
4.2常量类——Constant
常量类Constant中主要是封装了一些关键的常量值,这样便于代码的维护,本类代码如下:
5、辅助界面相关类的实现
5.1欢迎界面类——WelcomeView
在欢迎界面类WelcomeView中主要是不断的更改画笔的透明度,然后重新绘制图片,从而产生渐变效果,本类详细代码如下:
5.2刷帧线程——WelcomeViewDrawThread
在欢迎界面类WelcomeView中不断的设置画笔的不透明度的值,从而达到渐变效果,但是其所有不透明度的值均是在欢迎界面刷帧线程中实现的,本类详细代码如下:
6、主界面相关类的实现
6.1原子动作类——AtomAction
在原子动作类AtomAction中根据选择的“填沙”按钮或者“清沙”按钮的不同,执行不同的绘制方式,本类详细代码如下:
6.2动作类——ActionGroup
在动作类ActionGroup中记录了开始按下的动作,并在以后的绘制中直接调用本类中已经绘制好的点进行每一笔的绘制,本类详细代码如下:
6.3数据记录类——Record
数据记录类Record主要是将存储Bitmap的Hashmap集合转换为存储byte的Hashmap集合或者将存储byte的Hashmap集合转换为存储Bitmap的Hashmap集合。
其主要是在保存沙画以及取出沙画时调用,本类详细代码如下:
6.4背景颜色选择类——BgColorView
在背景颜色选择类BgColorView中首先绘制不同颜色的背景以供选择,之后重写了onTouchEvent方法,在该方法中根据选中颜色的不同为areaFlag赋不同的值,本类详细代码如下:
6.5设置界面类——SetupView
在设置界面类SetupView中用户可以选择新建沙画、保存沙画、删除沙画、查看保存的结果以及退出本软件,本类详细代码如下:
6.6对话框类——MyDialog
对话框类MyDialog为继承系统对话框类,在该类中重写了onCreate方法以及toString方法,本类详细代码如下:
6.7显示结果集类——ShowGalleryView
在显示结果集类ShowGalleryView中主要是显示已经保存的沙画作品,并且对保存的沙画设置监听,使得可以删除保存的沙画,本类详细代码如下:
6.8主界面类——MainView
在主界面类MainView中主要是绘制沙画区域背景、绘制区域的各个按钮,并对各个按钮添加触控监听,点击不同的按钮执行不同的动作,本类详细代码如下:
:
6.9主界面刷帧线程——MainViewDrawThread
在界面刷帧线程MainViewDrawThread中不断的重新绘制沙画,从而达到刷帧的效果,本类详细代码如下:
7、运行截图与部分功能演示
图1欢迎界面
图2主界面
图3点击选择背景按钮
图4设置界面
图5设置画笔
图6绘制沙画
图7保存沙画
图8查看作品集
参考文献
《Andriod应用开发完全自学手册》人民邮电出版社,2012年3月第一版