在Godot中实现栈的数据结构
#在gds里面实现栈的数据结构(后进先出) |
class_name Stack |
var data |
func _init(): |
self.data = [] |
# 返回栈中元素的数量 |
func _len(): |
return len(self.data) == 0 |
# 如果栈为空,则返回True,否则返回False |
func is_empty(): |
if len(self.data) == 0: |
return true |
else: |
return false |
# 将元素e添加到S的栈顶 |
func push(element): |
self.data.append(element) |
pass |
# 从栈S中移除并返回栈顶的元素,如果此时栈是空的,那么这个操作将会报错 |
func pop(): |
if self.is_empty(): |
push_error("Stack is empty") |
else: |
return self.data.pop_back() |
# 不移除栈顶元素,但返回栈顶元素,如果此时栈是空的,那么这个操作将会报错 |
func top(): |
if self.is_empty(): |
push_error("Stack is empty") |
else: |
return self.data[-1] |
https://github.com/2439905184/Algorithm-exercises/blob/master/Stack.gd
将文件保存为Stack.gd使用
var stack = Stack.new()
时隔好久,安卓版现已发布!
本游戏使用MIT开源协议的suika2引擎制作。如果你们想要构建自己的安卓游戏,请参考https://github.com/2439905184/suika2-android
如果你们对游戏引擎开源感兴趣,请参考https://github.com/ktabata/suika2
如果你们需要中文文档,请参考 https://www.suika2.com/zh/ (中文文档是我翻译的)
renpy新手教程,全屏播放视频
我发现了一个新的开源视觉小说引擎suika2 支持中文字体
这个是en版的demo界面。
这个引擎很小巧,速度又快,适合研究引擎底层原理和易于新手使用,当然复杂程度没有renpy高,要高度自定义的话,可能需要自己开发这个引擎,添加新的代码。
日文版的demo已经汉化过了(这里感谢别人共享的开源翻译代码)
https://www.bilibili.com/video/BV1Hg411T7Wt?p=2
我把我以前刚接触游戏开发的游戏plane发上来了
洋葱数值引擎 工具推荐
用了这个数值工具,我竟然吊打了10年老策划_哔哩哔哩_bilibili
我在曲奇云盘分享了文件 链接: https://quqi.avyeld.com/s/3174229/6rHyYFPwKiWSaNIX
基于bkengine的视觉小说开发教程(适合新手)
mmd解析器,在做vpd解析了
mmd解析器,在做vpd解析了
vpd文件结构
Vocaloid Pose Data file
Creeper Girl;
0;
Morph0{あ
0;
}
Morph1{い
0;
}
Morph2{う
0;
}
Morph3{え
0;
}
Morph4{お
0.71;
}
Morph5{ワ
0;
}
Morph6{口角上げ
0;
}
Morph7{口横広げ
0;
}
Morph8{まばたき
0;
}
Morph9{笑い
0;
}
Morph10{ウィンク
0;
}
Morph11{ウィンク右
0;
}
Morph12{ウィンク2
0;
}
Morph13{ウィンク2右
0;
}
Morph14{じと目
1;
}
Morph15{びっくり
0;
}
Morph16{はぅ
0;
}
Morph17{瞳小
0;
}
Morph18{恐ろしい
0;
}
Morph19{真面目
0;
}
Morph20{困る
0;
}
Morph21{にこり
0;
}
Morph22{怒り
0;
}
Morph23{上
0;
}
Morph24{下
0;
}
Morph25{前
0;
}
Morph26{照れ
0;
}
Morph27{照れ消
0;
}
Morph28{無機1
0;
}
Morph29{無機2
0;
}
#########
Vocaloid Pose Data file
初音ミク;
2;
Bone0{左足IK
-1.746569,2.423171,-0.07941628;
0,0,0,1;
}
Bone1{左腕
0,0,0;
0.3135149,0.2754695,-0.3171947,0.8515942;
}
pmd模型文件数据结构 用于制作自定义解析器
https://github.com/NogardRyuu/OpenMikuParser由于godot引擎不能导入mmd专有的文件pmd pmx 所以需要使用blender转换成dae开源格式的文件。
但是转换之后做动画,修改还是不方便,于是我就想学习二进制解析,这样就能自己写一个pmd格式的加载器插件了。
我是用python学习读取二进制文件。
https://gitee.com/h128/mmd-parser 源码地址。目前没写完。使用pyglet库绘制窗口。
https://mikumikudance.fandom.com/wiki/MMD:Polygon_Model_Data这个是老外的wiki。
github有一个saba软件 可以加载pmd pmx obj x这些模型,不过代码是c++的 看不懂。
https://gitee.com/h128/saba 另外我自己编译了saba 到linux 方便比较测试 自己写的解析器是否正确解析了模型文件。(我没学过数据结构,编程完全是兴趣)
另外 我找的了godot读取vmd动作数据的代码 https://github.com/NogardRyuu/OpenMikuParser
目前还是先研究读取obj模型这种纯文本格式的模型吧。
v2框架将会使用webgl渲染
v2框架将会使用webgl渲染。在做了v2渲染器,目前已经实现了webgl渲染了一个点。
如果webgl太慢的话也会尝试用pixi.js,或者其他库。
因为v1是dom渲染,不能很好实现游戏动态效果所以v2要用webgl,通过着色器shader可以是要规则图片转场效果。
webgl代码https://gitee.com/h128/webgl_learn
v2的加载器代码在github上搜easyavg 找到loader的v2分支就是了
【进阶教程】在Godot引擎调用外部js或者php等api的教程!
【进阶教程】在Godot引擎调用外部js或者php等api的教程!
文字教程:https://www.jianshu.com/p/3a0634504b70
详细视频教程:https://www.bilibili.com/video/BV17y4y1t7Lu/
【进阶教程】在Godot引擎调用外部js或者php等api的教程!
【进阶教程】在Godot引擎调用外部js或者php等api的教程!
文字教程:https://www.jianshu.com/p/3a0634504b70
详细视频教程:https://www.bilibili.com/video/BV17y4y1t7Lu/