Skip to content

Commit

Permalink
增加功能:手册重定向 && 添加文章:如何在GameMaker中使用高级数组函数
Browse files Browse the repository at this point in the history
  • Loading branch information
Ceyase committed Jun 3, 2024
1 parent c312c2b commit bd0d7a9
Show file tree
Hide file tree
Showing 13 changed files with 259 additions and 23 deletions.
1 change: 1 addition & 0 deletions .vuepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export default defineUserConfig({
{ text: '主页', link: '/' },
{ text: 'GM 文档',
children: [
{ text: '汉化文档(或官方文档)', link: '/tool/manual.html'},
{ text: '汉化文档(外挂式,在线)', link: 'https://manual-plugged.gm-cn.top/' },
{ text: '汉化文档(外挂式,仓库下载)', link: 'https://github.com/GamemakerChina/manual-plugged/archive/refs/heads/main.zip' },
{ text: '汉化文档(静态式,在线)', link: 'https://manual-static.gm-cn.top/' },
Expand Down
10 changes: 5 additions & 5 deletions blogs/2024/5/AGuidetoGenericC++Extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ categories:
- MacOS
- iOS

这个指南将向你展示如何在所有这些平台上轻松处理字符串、双精度数(这是GMS扩展常见的数据类型)以及如何使用[缓冲区](https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Buffers/Buffers.htm)!这个指南假设你正在使用Windows操作系统和Visual Studio Community 2022(或者任何其他Visual Studio许可证)。强烈建议你按照指南的顺序进行操作(直到开始讨论针对特定平台编译的部分),这样你就能理解所有基本原理以及为什么某些事情以某些特定的方式进行。
这个指南将向你展示如何在所有这些平台上轻松处理字符串、双精度数(这是GMS扩展常见的数据类型)以及如何使用[缓冲区](/tool/manual.html?path=GameMaker_Language/GML_Reference/Buffers/Buffers.htm)!这个指南假设你正在使用Windows操作系统和Visual Studio Community 2022(或者任何其他Visual Studio许可证)。强烈建议你按照指南的顺序进行操作(直到开始讨论针对特定平台编译的部分),这样你就能理解所有基本原理以及为什么某些事情以某些特定的方式进行。

**注意:** 如果你有任何疑问或想提出建议,可以写评论,给我发论坛消息,或发邮件到[alejandroibrahimojea@gmail.com](mailto:alejandroibrahimojea@gmail.com)

Expand Down Expand Up @@ -230,7 +230,7 @@ GMS2EXPORT double ext_test_Buffer(char* _GMSBuffPtrStr) {
### 创建一个非常好的并且文档良好的扩展
这是一个建议,可以让你创建一个非常好的、用户友好的扩展,以便最终用户能够更好地使用它:不要让他们直接与GMS中的扩展函数交互。
相反,将这些函数设置为“隐藏”,这样它们就不会显示为建议使用的函数,然后创建一个带有[JSDoc](https://manual.yoyogames.com/The_Asset_Editors/Code_Editor_Properties/JSDoc_Script_Comments.htm)文档的脚本。
相反,将这些函数设置为“隐藏”,这样它们就不会显示为建议使用的函数,然后创建一个带有[JSDoc](/tool/manual.html?path=The_Asset_Editors/Code_Editor_Properties/JSDoc_Script_Comments.htm)文档的脚本。
下面是一个带有所有先前创建的3个函数的文档准备好的脚本:
```gml
Expand Down Expand Up @@ -443,7 +443,7 @@ GMS(最新版本)仅支持x64 Windows可执行文件,因此创建与x64兼

如果这是你收到的消息,你将在VS项目目录中的"out\build\x64-release\{YOURPROJECTNAME}"(以本示例为例,路径为C:\Users\aleja\Desktop\TEST\out\build\x64-release\TEST)中找到一组文件,其中包括一个.DLL文件。

那个.DLL文件就是准备提供给GMS的库。前往GMS,在扩展中添加.DLL到代理文件中([在这里](https://manual.yoyogames.com/index.htm#t=The_Asset_Editors%2FExtension_Creation%2FCreating_An_Extension.htm)你可以找到如何操作),在扩展的"Windows"平台中标记复选框以包含它,然后运行你的游戏。
那个.DLL文件就是准备提供给GMS的库。前往GMS,在扩展中添加.DLL到代理文件中([在这里](/tool/manual.html?path=index.htm#t=The_Asset_Editors%2FExtension_Creation%2FCreating_An_Extension.htm)你可以找到如何操作),在扩展的"Windows"平台中标记复选框以包含它,然后运行你的游戏。

如果一切顺利,你现在应该能够从你的Windows GMS可执行文件中无问题地调用这三个函数。

Expand Down Expand Up @@ -494,7 +494,7 @@ GMS(其最新版本)只支持x64可执行文件,因此只有创建与x64

如果你收到了这条消息,你将在远程机器的“/home/{YOURUSERNAME}/.vs/{YOURPROJECTNAME}/out/build/linux-release/{YOURPROJECTNAME}”路径(例如,对于这个示例,路径是/home/alex/.vs/TEST/out/build/linux-release/TEST)找到一组文件,在其中你会找到一个 .SO 文件,你需要将其发送回你的Windows机器。

那个 .SO 文件是已经准备好提供给GMS的库。前往GMS,在扩展中添加 .SO 到代理文件中([在这里](https://manual.yoyogames.com/index.htm#t=The_Asset_Editors%2FExtension_Creation%2FCreating_An_Extension.htm)你会找到如何操作的说明),在扩展中勾选“Ubuntu”平台的复选框以便包含它,并执行你的游戏。
那个 .SO 文件是已经准备好提供给GMS的库。前往GMS,在扩展中添加 .SO 到代理文件中([在这里](/tool/manual.html?path=index.htm#t=The_Asset_Editors%2FExtension_Creation%2FCreating_An_Extension.htm)你会找到如何操作的说明),在扩展中勾选“Ubuntu”平台的复选框以便包含它,并执行你的游戏。
如果一切都顺利,你现在应该能够在Ubuntu的GMS可执行文件中无问题地调用这三个函数。
恭喜,你的扩展现在应该能在Ubuntu上正常工作了!

Expand Down Expand Up @@ -772,7 +772,7 @@ VS目前存在一个bug。如果这是您首次为MacOS(或iOS)构建项目

如果这是您收到的消息,您将可以在远程机器上找到这些文件。转到您的用户名文件夹 > ".vs" > "YOURPROJECTNAME" > "out" > "build" > "macos-release" > "YOURPROJECTNAME"。在该路径中,您会找到一组文件,在其中,您将找到一个.dylib文件,您需要将其发送回您的Windows机器。

那个.dylib文件就是准备提供给GMS的库文件。转到GMS,在扩展中添加.dylib文件作为代理文件([这里](https://manual.yoyogames.com/index.htm#t=The_Asset_Editors%2FExtension_Creation%2FCreating_An_Extension.htm)您将找到如何操作的方法),在扩展中标记"MacOS"平台的复选框以便包含它,并执行您的游戏。
那个.dylib文件就是准备提供给GMS的库文件。转到GMS,在扩展中添加.dylib文件作为代理文件([这里](/tool/manual.html?path=index.htm#t=The_Asset_Editors%2FExtension_Creation%2FCreating_An_Extension.htm)您将找到如何操作的方法),在扩展中标记"MacOS"平台的复选框以便包含它,并执行您的游戏。

如果一切顺利,您现在应该能够从您的MacOS GMS可执行文件中无误地调用这三个测试函数。

Expand Down
2 changes: 1 addition & 1 deletion blogs/2024/5/Coroutines.md
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ CO_END
3) 一个对象的实例。
4) 或从一个循环程序输出的`YIELD'。
当在数组上迭代时,迭代器变量是由数组本身给出的值。当迭代结构时,迭代器变量从结构中获得数值;要迭代结构的键,请使用[`variable_struct_get_names()`](https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Variable_Functions/variable_struct_get_names.htm)。
当在数组上迭代时,迭代器变量是由数组本身给出的值。当迭代结构时,迭代器变量从结构中获得数值;要迭代结构的键,请使用[`variable_struct_get_names()`](/tool/manual.html?path=GameMaker_Language/GML_Reference/Variable_Functions/variable_struct_get_names.htm)。
当迭代对象的实例时,迭代器变量被赋予实例引用(实例的结构表示,例如,在实例的范围内调用`self'得到的)。**请注意**,"FOREACH "循环的行为与GameMaker的本地 "with() "循环不同:"FOREACH "循环中的代码范围不会改变。
Expand Down
Loading

0 comments on commit bd0d7a9

Please sign in to comment.