1. 内部函数

这一部分可以参考 include\Game\stdafx.hsrc\stdafx.cpp 文件内容。

1.1. playSE(file,volume)

用来播放SE的函数。 file 部分直接写文件名即可,本函数会直接定向到 assets\se\ 文件夹, volume 为0~100的浮点数。

1.2. drawText

用于在屏幕上显示文字的函数:

1.2.1. drawText(*window,*font,rect, content, pos, size, bond, colour)

*window

为窗口对象,需引用

*font

为字体对象,需引用

rect

为坐标限制矩形,文字会根据pos确定自身的位置

content

为显示的文本

pos

为位置,0、1、2对应为左对齐、完全居中、右对齐,缺省值0

size

为字号,缺省值20

bond

为是否加粗,缺省值false

colour

为文字颜色,缺省值白色

1.3. drawImage

用于在屏幕上临时绘图的函数,本函数有两个重载:

1.3.1. drawImage(*window,*texture,x,y,opacity)

\*window 为窗口对象,需引用;

\*texture 为纹理对象,需引用;

若需要显示 system 文件夹里的 mting.pngfile 参数应写为 system\\mting.png

xy 为显示在的xy坐标;

opacity 为显示的不透明度,缺省值255。

1.3.2. drawImage(*window,*texture,x,y,rect,opacity)

此重载的 \*window , \*texture , x , y , opacity 和上面一致。

矩形演示

rect 为显示时的裁剪矩形,想象图片本身是一个大矩形,现在要用一个小矩形去框选其中的一部分, rect 的四个参数分别是 sx, sy , width, height ,用于截选图片中的一部分。

1.4. quickPow(num,n)

快速幂计算,相比 <cmath> 自带的 pow 函数在计算整数的次幂方面更快。

1.6. ynPrint(content)

会在游戏界面出现一个确认弹窗,选择 是/否 会分别返回 1/0

1.7. str2wstr(str)

会将传统的 string 字符串转换成 wstring 宽字符串。

1.8. wstr2str(wstr)

会将 wstring 宽字符串转换成传统的 string 字符串。

1.9. vectorFind(source,target)

判断一个 vector 是否包含某个对象,如果是非常规的自定义数据类型,需要重载 = 符号。

1.10. strInclude(source,target)

判断字符串中是否含有某个子串,并返回结果。

1.11. strIncludeNum(source,target)

判断字符串中包含某子串的数量有 多少个 ,并返回结果。

1.12. replaceAll(source,target,replacement)

将字符串 source 中所有的 target 都替换为 replacement

1.13. allToInt(strArray)

可以将 strArray 的所有元素转换成 int 类型并返回。

1.14. insertNewLines(string,lineMax)

string 中插入换行符,每隔 lineMax 个全角字符后会进行一次换行,如果遇到换行符会清空计数。

1.15. split(s,seperator)

将一个字符串根据分割符分割成若干个子串,返回的是一个 vector<string> 类型的值。

1.16. arrayToString(arr, len)

将一个字符串转换成以 , 分隔的字符串,返回的是一个 string 类型的值。

1.17. arrayToString(arr)

重载,将一个字符串转换成以 , 分隔的字符串,返回的是一个 string 类型的值,其中 arrvector<int> 类型。

1.18. readFile(file)

读取文件并按行分离成 vector<string>

1.19. readData(file,splt=”:”)

根据本框架数据存储格式来读取数据信息,第二个参数默认为 ":"" ,也是一个分割符,用来分割数据名称和数据值。 假设一个数据文件的存储格式如下:

1[data]
2typeA:abc
3typeB:def

使用 readData 将会返回一个 map<string,string> 类型的值, mapkey 是冒号前面的文字, value 是冒号后面的文字,假如返回值储存在 data 变量中,查询这个数据 typeA 的值就可以写成 data["typeA"]

但是注意,读取到的值都是 string 类型,如果储存的是数字,要读取的话,不要忘了使用 stoi

类似的,作为游戏配置文件的ini文件,格式也非常类似:

1[data]
2typeA=abc
3typeB=def

可以看出,冒号换成了等于号,所以在读取ini文件时,第二个参数设置成 "=" 即可。

1.20. saveFile(file,content)

存储单行文件,当然,你可以在 content 里面加上 \n