`
ruilin215
  • 浏览: 1147799 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

《M8围棋谱》自定义皮肤设计指南

阅读更多

《M8围棋谱》自定义皮肤设计指南

版本:1.0
作者:liigo,2009年10月,于大连。
http://blog.csdn.net/liigo

  《M8围棋谱》,专为魅族M8手机开发的围棋打谱软件此软件是Google Code上的开源软件,项目主页为:http://code.google.com/p/m8weiqipu/

  还在开发过程中,目前功能不全,但基本功能可用。其基本功能有:打开并解析SGF棋谱,单步向前向后,落子音效,自动提子,显示棋局信息和解说,支持自定义皮肤。

  魅族M8手机官方论坛下载地址:http://bbs.meizu.com/thread-1250668-1-1.html


  《M8围棋谱》支持自定义皮肤。通过设计新的皮肤,可以自定义背景图片、棋盘、棋子(黑子/白子/当前子)、落子声音等。本设计指南针对0.8以上版本。

  每一款皮肤,都在软件运行目录中“skins”子目录内拥有一个独立子目录,其中包括一系列图片、声音和配置文件(skin.ini)。下文将详细介绍这些文件的作用和制作要求。

  此软件是竖屏全屏显示的,屏幕顶部不显示信号栏。其运行界面,从上到下分为四个部分,依次是:棋局基本信息显示区(在屏幕最上方,大约50个像素高度),棋盘区域(大小由皮肤制作者决定,这是界面的核心区域),解说信息显示区(此区域大小取决于它上面和下面的区域),操作按钮栏(在屏幕最底部,固定高度65个像素)。另可参考本文最后的屏幕截图。

  开始制作皮肤时,第一步应先准备一幅 480x720(宽x高)的背景图片(background.png),初步确定棋盘的大小和位置之后,窗口中的四个区域也就大致确定了。

  棋盘是画在背景图片上的。确定棋盘的大小和位置是皮肤制作过程中相对比较复杂的一项工作,涉及到一些简单的数学运算。一般来说,我们都希望充分利用屏幕的宽度,尽量把棋盘画的大一些。在计算棋盘中相临两线的间隔时,记得要把线自身的宽度和边线左右两侧的空间(至少要留下半个棋子的宽度,以保证边线上的棋子完整显示)一并考虑进去哦。软件对棋盘位置的要求是:棋盘上方至少要保留大约50像素高度的空间(用于显示棋局基本信息,如对弈双方、赛事名称日期等,通常有两行文字);软件对棋盘大小的要求是:线与线之间必须是等宽的。除此之外,就没有其它的要求了。待一切确定并绘制完毕后,需在皮肤配置文件(skin.ini)中指定以下信息:几路棋盘(19? 13? 9?),棋盘左上角棋子的横坐标和纵坐标(屏幕或图片左上角为坐标原点(0,0)),相临两线之间的间隔(单位为像素),线的宽度(单位为像素)。下文将详细介绍具体的配置细节。

  按下来要确定棋子的大小,其直径通常比棋盘相临两线的间隔略小。棋子的大小(横向宽度)也要写进配置文件中去。然后制作黑白两方的棋子图片(black.png,white.png)。棋子的形状通常是圆形的,颜色通常是黑白的,并且周边透明。当然你要设计成其它形状和颜色也无所谓,程序不予限制。如果棋子图片是半透明的,它下方的棋盘将显示出来。

  然后在黑白棋子图片的基础上,制作“当前棋子”图片(black_new.png,white_new.png),程序要求它们与普通棋子图片等大。所谓“当前棋子”,是指最新下到棋盘上的那个棋子,通常需要做一些标记,以便打谱者更容易找到它。在程序中,“当前棋子”的图片是叠加在普通棋子图片上方显示的,即,它的正下方是普通棋子图片,如果“当前棋子”图片是部分透明的,下方的图片就会部分显示出来。制作图片时可根据这一特性打造特殊效果。

  最后是制作“落子音效”声音文件(luozi.wav)了,即棋子敲击棋盘的声音。程序要求它必须是wav格式,建议简短清脆。

  以上文件都制作完成后,把它们放到一个目录内(目录名称可随意,假设为smile),然后把此目录复制到《M8围棋谱》安装目录下的“skins”子目录内,最终的目录结构应该是:DiskProgramsM8WeiqiPuskinssmileskin.ini(这里假设软件安装在DiskProgramsM8WeiqiPu)。提供给别人时,对smile目录压缩打包即可。
  如果自己设计了多款皮肤,还可以细分子目录,如在 smiles 下分别放置 smile1, smile2 等,最终的目录结构应该是:DiskProgramsM8WeiqiPuskinssmilessmile1skin.ini, DiskProgramsM8WeiqiPuskinssmilessmile2skin.ini。


  以下是一个皮肤需提供的各类文件详单(所有文件均采用固定文件名称):

文件名称 详细说明 是否必须提供
默认皮肤中的实例
(仅供参考)
skin.ini 皮肤配置文件。
INI格式的纯文本文件,要求必须是Unicode(UTF16-LE)编码。下文将对其内容作详细说明。
必须的 内容见下文
background.png 棋盘及其背景图片。宽度为480像素,高度为720像素。
棋盘应在图片的中间偏上位置,上边需留出大约50像素高度的区域用于显示棋局基本信息。
图片最下方65个像素高度会一直被屏幕底部的“操作按钮栏”遮盖,构图和制作图片时请考虑到这一点。
与此相关的一些数据(如棋盘左上棋子角坐标、相临两线间隔、线的宽度等)需写到配置文件中,详见下文。
必须的 图片见下文
black.png 黑方棋子图片。
要求宽高相同,其图片宽度应写入配置文件(skin.ini)中入。
必须的

white.png 白方棋子图片。
要求与黑方图片(black.png)尺寸相同。
必须的
black_new.png 黑方当前棋子图片,即新下到棋盘上的黑方棋子图片。
要求与黑白棋子图片(black.png, white.png)尺寸相同。
运行时此图片将显示在普通黑方棋子图片(black.png)正上方。
可以没有
white_new.pn 白方当前棋子图片,即新下到棋盘上的白方棋子图片。
其余参见black_new.png的说明。
可以没有
luozi.wav 落子声音文件,即棋子下到棋盘上时敲击棋盘的声音。
要求必须是wav格式,最好简短清脆。
可以没有


以下是皮肤配置文件(skin.ini)中的各配置项说明:

配置项 详细说明 默认皮肤中的值(仅供参考)
Name 本皮肤的名称,可随意。显示时两端的双引号将被去除。 "默认标准棋盘"
Description 本皮肤的说明信息,可随意。显示时两端的双引号将被去除。 "the default skin of Weiqipu"
BoardLineCount 指定本皮肤使用的棋盘为几路棋盘。其值可为 19、13、9等。 19
BoardLineInterval 棋盘上相临两线间间隔,单位为像素。 24
BoardLineWidth 棋盘上线的宽度,单位为像素。 1
BoardTopY 棋盘顶边纵坐标,单位为像素 46
BoardBottomY 棋盘底边纵坐标,单位为像素 530
StoneWidth 棋子的宽度,即棋子图片的宽度,单位为像素。(目前要求棋子图片宽高相同) 21
TopLeftStoneX 棋盘左上角棋子中心点的横坐标,单位为像素。以图片左上角为坐标原点(0,0)。
15
TopLeftStoneY 棋盘左上角棋子中心点的纵坐标,单位为像素。以图片左上角为坐标原点(0,0)。
此值应在65左右或更大,以便棋盘上方留出足够的区域显示棋局基本信息。
64


以下是默认皮肤的配置文件(skin.ini)内容,供参考:

[Settings]
Name="默认标准棋盘"
Description="the default skin of Weiqipu"
BoardLineCount=19
BoardLineInterval=24
BoardLineWidth=1
BoardTopY=46
BoardBottomY=530
StoneWidth=21
TopLeftStoneX=15
TopLeftStoneY=64

以下是默认皮肤的背景图片(background.png),供参考:



以下是使用了默认皮肤的程序运行界面截图:







分享到:
评论

相关推荐

    魅族m8指南针 m8

    用于魅族 m8 上的指南针软件 有多种指示方向的方法。仍有许多要完善的地方。后续版本待续

    M8点讯输入法vista皮肤

    《M8点讯输入法vista皮肤:个性化与体验优化》 在智能手机高速发展的今天,用户对手机输入法的要求已经不仅仅停留在输入的准确性与速度上,他们对输入法的美观性、个性化和操作体验也提出了更高的要求。M8点讯...

    围棋打谱源代码

    2. **棋谱解析**:读取M8围棋谱格式的对局记录,这可能涉及到解析特定的文件格式,提取每一步棋的位置和顺序。 3. **用户界面**:设计一个直观的图形用户界面(GUI),允许用户浏览和交互棋谱。这可能包括显示棋盘...

    魅族M8_SDK入门教程

    【魅族M8 SDK入门教程】是一篇针对初学者的指南,旨在帮助新手熟悉魅族M8设备的软件开发流程。教程分为多个部分,本文主要关注基础知识和开发环境的搭建。 1. **开发环境搭建**: - **VS2005/VS2008**:魅族M8 SDK...

    neo-m8硬件设计手册

    ### neo-m8硬件设计手册知识点概述 #### 一、NEO-M8模块简介 NEO-M8系列模块是由u-blox公司推出的高性能、成本效益高的GNSS(全球导航卫星系统)接收器模块,该模块集成了u-blox M8 GNSS引擎,能够同时接收GPS、...

    ublox m8N 技术手册

    ublox NEO-8Q和NEO-M8系列模块在文档中有详细的产品编号和版本信息,如NEO-M8N、NEO-M8M、NEO-M8Q、NEO-M8T、NEO-8Q等,以及它们的ROM/FLASH版本信息,例如NEO-M8N-0-10FLASHFWSPG3.01。此外,文档还提供了产品变更...

    NEO-M8-HardwareIntegrationManual.pdf

    总之,NEO-M8的硬件集成手册是一份全面的技术指南,旨在帮助设计人员有效地将NEO-M8模块集成到各种硬件设备中,同时也为他们提供了对模块性能和技术规格的深入理解。通过使用NEO-M8模块,开发者可以创建出具有高精度...

    V6.11 (1)_M8electronicload_m8电子负载v6_M8电子负载_电子负载_

    M8电子负载V6.11是一款专为测试电源、电池和其他供电设备而设计的专业工具,它具备高精度和灵活的控制功能,适用于各种电子产品的研发和生产环节。这款电子负载在V6.11版本中对1604液晶显示屏的固件进行了升级,...

    魅族M8应用程序开发向导

    为了方便大家开发M8应用程序,省掉建立项目的繁琐步骤,本人应用Visual C++的自定义向导(CustomWizard)规范编写了一套VisualC++魅族M8应用程序开发向导,使用这套向导创建M8开发项目可以省掉 SDK里要求的手动步骤,...

    51黑论坛_M8v7数控电源_M8数控电源_M8V7.COM_m8数控电源_avr_数控电源_

    在提供的压缩包文件“M8v7数控电源.lay6”中,我们可以推测这可能是M8v7数控电源的电路布局文件或者设计图纸。lay6通常表示第六层的电路布局,这对于分析电源的硬件结构、理解电路设计和调试故障至关重要。 总的来...

    m8程序源码M8Money源程序_090325

    【描述】中的“学习在M8中开发程序的例子”意味着这个源代码包包含了编写和调试M8设备应用的教程或实践指南。"快速入门"则表明这是一个适合初学者的资源,它可能涵盖了基础的编程概念,环境配置,以及特定于M8平台的...

    制作任意的M8官方固件+Android的双启动固件教程

    制作任意的M8官方固件+Android的双启动固件教程 本教程旨在指导用户制作任意的M8官方固件+Android的双启动固件,从而实现M8手机的双启动功能。在本教程中,我们将使用Mpack、M8TinyLoader.exe、zImage、xip.bin...

    Holybro_M8N_GPS_Quick_Start_Guide

    "Holybro M8N GPS 快速入门指南" 本文将详细介绍 Holybro M8N GPS 模块的特点、技术参数和连接方式,以便读者快速了解和使用该模块。 M8N GPS 模块概述 Holybro M8N GPS 模块是一款高性能的 GPS 模块,采用 U-...

    u-blox8-M8系列配置.pdf

    u-blox 8 / M8系列支持多种产品类别,如CAM-M8C、CAM-M8Q、EVA-M8M、EVA-M8Q、MAX-M8C和MAX-M8Q,它们的固件版本为3.01,属于“标准精度GNSS”类别。这些产品适用于需要稳定定位但不需要极高精度的应用场景。 文档...

    UBLOX M8P 基站与移动站的 RTK设置

    4. "C94-M8P-AppBoard_UserGuide_(UBX-15031066).pdf" - 应用板用户指南可能涵盖了M8P模块在实际硬件平台上的使用方法,包括连接、初始化、软件开发等方面。 5. "u-blox8-M8_ReceiverDescrProtSpec_(UBX-13003221)_...

    HTC Desire626/816,M8S/M8/E8 Recovery打包合集

    标题中的“HTC Desire626/816,M8S/M8/E8 Recovery打包合集”指的是一份包含针对HTC特定型号手机(Desire 626、Desire 816、M8S、M8以及E8)的Recovery系统的集合。在Android操作系统中,Recovery模式是一种特殊的...

    初中英语外研版七年级下册高效课堂资料M8U2教学设计新.doc

    初中英语外研版七年级下册高效课堂资料M8U2教学设计新.doc

    NEO-M8资料.rar

    2. **集成手册**:集成手册详细阐述了如何将NEO-M8模块无缝接入到用户的产品设计中,可能包括电路设计指导、抗干扰措施、模块与主机通信协议的解释等。这对于硬件工程师和嵌入式系统开发者来说是必不可少的。 3. **...

    MAX-M8C GPS芯片设计资料.zip

    本压缩包包含的重要资料为“MAX-M8-FW3”的数据手册和硬件设计资料,这将帮助初学者深入了解MAX-M8芯片的工作原理、接口规范以及如何进行硬件集成。 首先,数据手册是理解任何电子元器件的基础,对于MAX-M8C GPS...

    国内第一代智能手机魅族M8经典铃声

    魅族M8,这款在中国智能手机发展史上具有里程碑意义的设备,自2009年发布以来,就以其独特的设计和出色的用户体验赢得了众多用户的喜爱。作为国内第一代真正意义上的智能手机,魅族M8在当时可谓引领了潮流,它的出现...

Global site tag (gtag.js) - Google Analytics