(码)
Godot实现Web上传与下载
2024年3月11日
godot
上传
下载
Godot中也会遇到上传或下载文件的时候,比如下载资源包,上传队友的语音文件等。
这里使用了 HTTPClient 低级节点,从低层一步步实现上传下载
下载代码
此代码含项目中的个别内容,需自行删除
...
➦
(摘)
Godot录音并转换为mp3/ogg
2024年3月10日
godot
录音
ogg
mp3
UI很简单,两个节点:AudioStreamPlayer用于录音,Button用于开始/结束录音。
注意 项目设置必须 音频-驱动-启动输入,启用它,否则你得到的是空的音频文件。(在这上面折腾好久)
...
➦
(摘)
Godot 三十行代码实现多人游戏
2024年3月8日
多人
godot
看看别人的写的简单多人游戏代码 B站视频
B站上还有一个E文的无语音视频,似乎更简单,也可以借鉴理解。
希望更简单的,可以直接跳到第二个示例
示例1 主场景 代码并不复杂
MainScene关联代码
extends Node2D @onready var players: Node = $Players @onready var camera : Camera2D = $Camera2D const PLAYER = preload("res://player.tscn") var peer = ENetMultiplayerPeer.new() ## 创建服务器 func …
...
➦
(原)
学习传奇游戏复刻记录
2024年3月8日
传奇
2025.4.12
忘了更新,此项目因为作者工作忙(借口?),已暂停。个人择机再研究继续。
跟着网友教程,使用Godot复刻传奇游戏。
Github
我个人自动克隆的项目,每4小时自动一次。
他的官方网址 B站课程更新中
为了简单(懒),并没有按教程一步步搭建环境,毕竟那不是重点,利用现在有的PVE开一个Ubuntu即可,何况各端都可以导出Win程序。
为了更简单(更懒),尽可以减少每次Github新代码后的修改,于是:
...
➦
(摘)
Godot的多线程
2024年3月5日
godot
线程
Godot需要学习的几个点:网络、线程、着色器
线程安全的API 官方文档
使用多线程 官方文档
创建线程 var thread: Thread func _read(): thread = Thread.new() thread.start(_thread_func.bind("Waff")) func _thread_func(user): print("我是一个线程,用户是:",user) func _exit_tree(): thread.wait_to_finish() Mutex 当从不同线程访问一个数据时, 一定要使用 Mutex …
...
➦
(原)
自建Git服务器Gogs,同步Github库
2024年3月5日
gogs
git
之前自建了一个Git服务,主要还是个人用。代码不会丢,还可以随便(回)滚。
经常想同步一些Github.com上的项目,今天稍作研究。至少能用了。
先在帐号下建立好库名,然后使用类似以下脚本。可能第一次需要输入你的帐号密码存于系统中。
...
➦
(摘)
Godot加载超大型地图的解决探讨(学习更新中)
2024年3月5日
godot
地图
有网友提出,当地图过大时,会导致加载时间过长,内存占用过大,以及较大的PCK包等问题。于是网上搜搜解决方法。
1 在Github中,有网友的解决方法:将超大地图切分为几个区域,使用条件触发。
也提到几个问题:需要手动的划分区域,且区域之间需要精心设计,以避免玩家看到“空”(未加载)区域。比如扭曲环境,使用“雾”来掩盖。在“两个场景”中切换时会更麻烦。
...
➦
(原)
Godot使用ENetMultiplayerPeer实现的简单聊天室
2024年3月4日
godot
enetmultiplayerpeer
聊天
确实是比较简单,创建服务器,加入服务器。连接后,每次都会获取名字和内容。
get_tree().set_multiplayer(SceneMultiplayer.new(),self.get_path()) 啥意思?不用也没啥区别。
peer.get_host().compress(ENetConnection.COMPRESS_RANGE_CODER) 这个有效果吗?估计得人多才能有测试。
为什么要在发送信息时使用 msg_rpc.rpc(my_name.text,send_message.text) ? 执行远程客户端上的msg()函数,并附带上当前的姓名和消息内容。
...
➦
(摘)
Tweens: 制作简单动画
2024年3月1日
tweens
godot
Tweens是可以使用数学函数随时间修改其他对象的属性值的对象。
var tween : Tween = create_tween() var tween : Tween = get_tree().create_tween().bind_node(self) # 创建一个新的全局Tween对象 tween_property(object, property, final_val, duration)
object: 目标对象
property: 要更改的属性
final_val: 最终值
duration: 持续时间(秒)
...
➦
(原)
解决 Gravatar 不能用的问题 及 StudyGolang 论坛的头像处理
2024年3月1日
gravatar
studygolang
因为想建一个论坛,于是使用了StudyGolang。不知道为什么硬要使用七牛(就一个小破站,哪需要搞那么复杂,而且还没得选。),又还涉及到 Gravatar 头像网站不能打开的问题(那些坐在办公室打游戏的脑壳有包)。
...
➦