WangShuXian6 / blog

FE-BLOG
https://wangshuxian6.github.io/blog/
MIT License
46 stars 10 forks source link

从零开始掌握完整的Lua编程 Lua Scripting- Master complete Lua Programming from scratch [进行中] #217

Open WangShuXian6 opened 2 weeks ago

WangShuXian6 commented 2 weeks ago

从零开始掌握完整的Lua编程 Lua Scripting- Master complete Lua Programming from scratch 2020-12

01 引言 001 引言和动机 002 给Roblox用户的一条消息 003 历史和语言演变

02 安装和使用Lua 006 使用Lua与REPL 007 在Linux上安装Lua 008 在MacOS上安装Lua 009 在Windows上安装Lua

03 课程源代码(下载)

04 变量和表达式 011 我们的第一个Lua脚本 012 变量 013 旧版Lua和REPL 014 提议活动:变量 015 变量活动解决方案 017 增加和减少变量

05 条件和逻辑运算符 018 条件 019 Elseif 020 提议活动:条件语句 021 条件活动解决方案 022 逻辑运算符

06 字符串和标准库模块 024 字符串操作 025 多行字符串 026 多重赋值 027 标准库模块

07 循环和函数 029 For循环 030 While循环 031 循环选项 032 变量范围 033 本地作用域和Lua块 034 语法与语义错误 035 解决逻辑错误 036 从键盘输入值 037 处理输入选项 038 查找点之间的距离 039 查找点之间的角度 041 循环活动示例 042 循环活动解决方案 044 函数简介

08 表格 046 Lua中的表格 047 表格示例 048 提议活动:读表格条目 049 表格活动解决方案 050 表格作为配置文件 051 表格作为矩阵

09 元表和面向对象编程 053 前进 054 元表 056 Lua中的面向对象编程 057 创建类和对象

10 更多关于Lua函数 059 高阶函数和闭包 060 变参函数

11 将Lua与C集成 062 使用Lua和C工作 063 C项目文件结构 064 从C执行Lua文件 065 在C中获取Lua全局变量 066 栈 067 推、弹和峰 068 从C调用Lua函数 069 检查和处理脚本错误 070 在Lua中调用C函数 071 用户数据 072 发送和接收用户数据 073 在C中读取Lua表 074 安装SDL 075 创建SDL窗口 076 游戏循环 077 SDL渲染 078 修复我们的游戏循环时间步 079 Delta时间 080 使用Lua控制玩家移动 082 关于将Lua与C集成的最终考虑

12 结论和下一步 083 下一步

13 附加部分:在Roblox Studio中使用Lua 085 介绍Roblox和Roblox Studio 086 安装并访问Roblox Studio 087 Roblox部件和属性 088 Roblox向量和颜色 089 Roblox对象实例 090 提议活动:日月系统小时 091 日月活动解决方案 092 Roblox循环和等待功能 093 Roblox循环和条件语句 094 Roblox事件 095 Roblox人形属性 096 Roblox玩家和角色 097 Roblox模型和资产 098 Roblox地形编辑器 099 Roblox日夜照明与时钟时间 100 Roblox排行榜 101 Roblox调试和代码检查 102 Roblox CFrame 103 Roblox跟随部件 104 Roblox结论和获取帮助

14 附加部分:从源码构建Lua 5.4 106 在Linux上编译Lua 5.4

15 附加讲座 107 我们其他课程的折扣


01 Introduction 001 Introduction and Motivations 002 A Message for Roblox Users 003 History and Language Evolution

02 Installing and Using Lua 006 Using Lua with REPL 007 Installing Lua on Linux 008 Installing Lua on MacOS 009 Installing Lua on Windows

03 Course Source Code (Download)

04 Variables and Expressions 011 Our First Lua Script 012 Variables 013 Older Lua Versions and REPL 014 Proposed Activity: Variables 015 Variables Activity Solution 017 Incrementing and Decrementing Variables

05 Conditionals and Logical Operators 018 Conditionals 019 Elseif 020 Proposed Activity: Conditional Statements 021 Conditionals Activity Solution 022 Logical Operators

06 Strings and Standard Library Modules 024 String Manipulation 025 Multi-line Strings 026 Multiple Assignment 027 Standard Library Modules

07 Loops and Functions 029 The For Loop 030 The While Loop 031 Loop Options 032 Variable Scope 033 Local Scope and Lua Chunks 034 Syntax & Semantic Errors 035 Solving Logical Mistakes 036 Input Values from the Keyboard 037 Handling Input Options 038 Finding Distance Between Points 039 Finding Angle Between Points 041 Loop Activity Example 042 Loop Activity Solution 044 An Introduction to Functions

08 Tables 046 Tables in Lua 047 Tables Example 048 Proposed Activity: Reading Table Entries 049 Table Activity Solution 050 Tables as Configuration Files 051 Tables as Matrices

09 Metatables and Object-Oriented Programming 053 Moving Forward 054 Metatables 056 Object-Oriented Programming in Lua 057 Creating Classes and Objects

10 More on Lua Functions 059 Higher-Order Functions and Closures 060 Variadic Functions

11 Integrating Lua with C 062 Working with Lua and C 063 C Project Folder Structure 064 Executing Lua File From C 065 Get Lua Global Values in C 066 The Stack 067 Push Pop and Peak 068 Calling Lua Functions From C 069 Checking and Handling Script Errors 070 Calling C Functions in Lua 071 Userdata 072 Sending and Receiving Userdata 073 Reading Lua Tables in C 074 Installing SDL 075 Creating a SDL Window 076 The Game Loop 077 SDL Rendering 078 Fixing Our Game Loop Timestep 079 Delta Time 080 Controlling the Player Movement with Lua 082 Final Considerations on Integrating Lua and C

12 Conclusion and Next Steps 083 Next Steps

13 Bonus Section: Using Lua with Roblox Studio 085 Intro to Roblox and Roblox Studio 086 Installing and Accessing Roblox Studio 087 Roblox Parts and Properties 088 Roblox Vectors and Colors 089 Roblox Object Instance 090 Proposed Activity: Sun and Moon System Hour 091 Sun and Moon Activity Solution 092 Roblox Loops and the Wait Function 093 Roblox Loops and Conditionals 094 Roblox Events 095 Roblox Humanoid Properties 096 Roblox Players and Characters 097 Roblox Models and Assets 098 Roblox Terrain Editor 099 Roblox Day-Night Lighting & ClockTime 100 Roblox Leaderboard 101 Roblox Debugging and Code Inspection 102 Roblox CFrame 103 Roblox Following Parts 104 Roblox Conclusion and Getting Help

14 Bonus Section: Building Lua 5.4 from Source 106 Compiling Lua 5.4 on Linux

15 Bonus Lecture 107 Discount on Our Other Courses

WangShuXian6 commented 2 weeks ago

01 引言

001 引言和动机

002 给Roblox用户的一条消息

003 历史和语言演变

WangShuXian6 commented 2 weeks ago

02 安装和使用Lua

006 使用Lua与REPL

007 在Linux上安装Lua

008 在MacOS上安装Lua

009 在Windows上安装Lua

WangShuXian6 commented 2 weeks ago

03 课程源代码(下载)

WangShuXian6 commented 2 weeks ago

04 变量和表达式

011 我们的第一个Lua脚本

012 变量

013 旧版Lua和REPL

014 提议活动:变量

015 变量活动解决方案

017 增加和减少变量

WangShuXian6 commented 2 weeks ago

05 条件和逻辑运算符

018 条件

019 Elseif

020 提议活动:条件语句

021 条件活动解决方案

022 逻辑运算符

WangShuXian6 commented 2 weeks ago

06 字符串和标准库模块

024 字符串操作

025 多行字符串

026 多重赋值

027 标准库模块

WangShuXian6 commented 2 weeks ago

07 循环和函数

029 For循环

030 While循环

031 循环选项

032 变量范围

033 本地作用域和Lua块

034 语法与语义错误

035 解决逻辑错误

036 从键盘输入值

037 处理输入选项

038 查找点之间的距离

039 查找点之间的角度

041 循环活动示例

042 循环活动解决方案

044 函数简介

WangShuXian6 commented 2 weeks ago

08 表格

046 Lua中的表格

047 表格示例

048 提议活动:读表格条目

049 表格活动解决方案

050 表格作为配置文件

051 表格作为矩阵

WangShuXian6 commented 2 weeks ago

09 元表和面向对象编程

053 前进

054 元表

056 Lua中的面向对象编程

057 创建类和对象

WangShuXian6 commented 2 weeks ago

10 更多关于Lua函数

059 高阶函数和闭包

060 变参函数

WangShuXian6 commented 2 weeks ago

11 将Lua与C集成

062 使用Lua和C工作

063 C项目文件结构

064 从C执行Lua文件

065 在C中获取Lua全局变量

066 栈

067 推、弹和峰

068 从C调用Lua函数

069 检查和处理脚本错误

070 在Lua中调用C函数

071 用户数据

072 发送和接收用户数据

073 在C中读取Lua表

074 安装SDL

075 创建SDL窗口

076 游戏循环

077 SDL渲染

078 修复我们的游戏循环时间步

079 Delta时间

080 使用Lua控制玩家移动

082 关于将Lua与C集成的最终考虑

WangShuXian6 commented 2 weeks ago

12 结论和下一步

083 下一步

WangShuXian6 commented 2 weeks ago

13 附加部分:在Roblox Studio中使用Lua

085 介绍Roblox和Roblox Studio

086 安装并访问Roblox Studio

087 Roblox部件和属性

088 Roblox向量和颜色

089 Roblox对象实例

090 提议活动:日月系统小时

091 日月活动解决方案

092 Roblox循环和等待功能

093 Roblox循环和条件语句

094 Roblox事件

095 Roblox人形属性

096 Roblox玩家和角色

097 Roblox模型和资产

098 Roblox地形编辑器

099 Roblox日夜照明与时钟时间

100 Roblox排行榜

101 Roblox调试和代码检查

102 Roblox CFrame

103 Roblox跟随部件

104 Roblox结论和获取帮助

WangShuXian6 commented 2 weeks ago

14 附加部分:从源码构建Lua 5.4

106 在Linux上编译Lua 5.4

WangShuXian6 commented 2 weeks ago

15 附加讲座

107 我们其他课程的折扣