开始使用 CSL
CSL 是 All Out 的自定义编程语言,旨在让编写多人游戏像创建单人游戏一样简单。
你的第一个脚本(main.csl)
main.csl)import "core:ao"
// ============================================================================
// 全局生命周期
// ============================================================================
ao_before_scene_load :: proc() {
// 注册物品定义、货币等。
// 在场景创建之前运行。
}
ao_start :: proc() {
// 场景开始时调用一次。
}
ao_update :: proc(dt: float) {
// 每帧调用。
}
ao_late_update :: proc(dt: float) {
// 在 ao_update 之后每帧调用。
}
// ============================================================================
// 玩家生命周期
// ============================================================================
Player :: class : Player_Base {
ao_start :: method() {
}
ao_update :: method(dt: float) {
}
ao_late_update :: method(dt: float) {
}
ao_end :: method() {
}
}导入
声明(变量和常量)
变量
常量
类型
原始类型
向量类型
结构体和类
结构体(值类型)
类(引用类型)
继承
dog.breed = "Labrador";
过程与方法proc)
proc)op = proc(a: int, b: int) -> int { return a * b; };method)
method)dog->bark();
如果一个过程的第一个参数类型与接收者类型匹配,则任何过程都可以作为“方法”被调用。这是 CSL 的常见模式。
完整指南(包括删除模式),请参见
控制流
// 一切正常
return {1, 1, 1, 1};
类型转换
c := b.(float); // 123.0 ref 按引用传递:
ref 按引用传递:update_position(ref my_pos, {10, 5}, 0.16);
tracker.count += 1;
c := default_of([4]int); // {0, 0, 0, 0}
最后更新于