(P.S:此贴不接受任何与此帖本身内容无关的提问,包括但不限于Lua类技术问题)
前言
自从TI-Nspire系列(以下简称NS)更新至OS3.0以后,加入了对Lua脚本的支持。
根据国外的资料来看,NS使用的是一个轻量化的Lua 5.1.4引擎。尽管去除了os、io与file库(这也使对NS中的文件操作成为不可能),但是TI又加入了大量的API,使其与标准Lua有很大的不同。而且,自从更新至API 2.0 (需要OS3.2)以来,NS中加入了一个2D物理引擎Chipmunk Physics,使得一些游戏的编写成为可能。
使用Lua的好处是起点低、开发效率较高、使用程序几乎无风险,同时可以很容易做到跨平台(例如我的iRead II),但是无论是效率还是功能比ndless的程序还是稍逊一筹。当然Lua目前也是OS3.2中唯一的SDK解决方案。
但是国内目前对Lua的研究非常少,无论是程序资源还是开发资料都比较少(如果发现有什么好的资源请在本贴回复补充,另外此贴会定期进行更新)。
一、现有程序/游戏
国内程序与游戏比较好的主要有以下这些(有多个版本的仅贴出最新版本,排名不分先后):
imath:
iDict6 Air
一款简洁易用的英汉词典
iNote2
一款简洁的笔记本
Xcode_Framework
一款可以快速为TI-Basic程序构造简易GUI界面的程序
iMatrix
一款可以快速显示矩阵的程序
iWrite3
一款文本编辑器
ExAcler:
Advanced Plotter
类似HP Prime高级绘图功能的绘图工具
eLyrics I
实时歌词显示软件
eAlbum
很方便的图片查看器
Fawpad Air
一款五子棋游戏,有简易AI
2048 GX
一款很有意思的益智游戏
zsdsgjb:
常用测量V1.0
适合工程测绘人员使用
秒表计时程序V1.3
小巧的秒表计时程序
wtof1996:
iRead II
简单易用的电子书阅读程序,可将txt转换为tns
二、开发资料
首先,你需要有一定的Lua语言基础(语法,一些标准库函数等)。如果没有的话建议去找一本教程自学一下(随便搜一下就有一大堆),而且如果有其他编程语言基础估计几个小时就可以上手了。
然后就是看官方的API手册,当然阅读他人的程序也是很好的方法。
另外也可以参考一下这个教程:https://www.cncalc.org/forum.php?mod=viewthread&tid=12768
NS的Lua通常需要在PC上进行开发,方法主要有以下这些:
1.使用TI-Nspire 系列软件中的Script Editor(脚本编辑器)
即使用常说的“官方模拟器”即可进行编辑,需要3.2以上版本。
使用方法很简单,新键一个页面然后执行(见下图):
Insert > Script Editor > Insert Script
或
插入->脚本编辑器->插入脚本
之后会提示为脚本命名,当然可以也直接留空,然后就可以开始编辑了。
使用这个方法的好处是可以为脚本的源代码加密(见下图),也可以进行一些调试,因此如果你想阅读一个tns中内嵌的Lua源代码只能使用官方模拟器了。
但是由于官方软件一般是不会免费提供的(比如说国行/二手用户),因此就有了下面的其他方法。
2.使用第三方文本编辑器&Lua Booster/Luna
国外的ExtendeD大神写出了一个命令行工具Luna,可以直接将Lua脚本转化为tns。
因此如果你没有官方模拟器也没关系,你只需要去找个第三方的文本编辑器,比如说Notepad++, Scite...... (如果你喜欢记事本也可以:-D)然后把源代码保存成lua文件,在实体机上调试。
缺点是文档只有一页(即Lua脚本,不过一般情况下也够了),而且不能对源代码进行加密,因此如果要有多个页面需要在实体机上进行进一步的操作然后重新保存文件。
由于CUI界面用起来毕竟不是很方便,因此LZ编写了Lua Booster工具集。其中的iLua就整合了Luna,不但可以作为一个GUI的"编译器",同时也在一定程度上的提供了类似C语言的文件包含功能。
(以上工具请在本楼最后下载)
3.使用机上Lua编程
最初同样是ExtendeD大神发现了Lua在实体机内部的一些接口,于是就有了这些:
oclua
用法很简单:新建一个页面,插入一个记事本应用,然后写一些代码,最后全选并复制粘贴至1.1页中即可。也可以看下面作者做的GIF演示(GIF上面的黑线大家无视掉好了...):
以下是适用于不同的API版本(关于API版本参见TI的API参考)的oclua
API 1.0(OS>= 3.0):
oclua_API1.0.tns
(1.71 KB, 下载次数: 91)
API 2.0(OS>=3.2):
oclua_API2.0.tns
(1.75 KB, 下载次数: 210)
Jens' Script Editor
这是一个很好用的机上Lua 编辑器,目前本人已汉化。
LuaCS2
由Levak大大编写的一个简单机上Lua IDE。内部整合了oclua,适合新手练习API。
LuaCS2 下载
相关网站以及开发工具:
1. Lua Booster II
一个TI-Lua辅助开发工具集,提供了图片转换、菜单代码生成、预处理器&"编译器"等功能,可有效提高效率。
2.Luna
见以下附件
luna-v0.31-beta1.zip
(1.09 MB, 下载次数: 431)
2.TI官方的Lua相关页面(英文)
3.TI官方的Lua API参考(中文)
4.Inspired-Lua Wiki(英文)
5.Compasstech上TI的教程(英文)
|