Casio 的编译环境使用起来太痛苦了
Casio fx9860 编译环境使用太痛苦 使用不习惯C语言的我是种折磨
新版的9750已经可以支持usb插拔交换数据 直接读取文本文件经测可行
所以从开发流程的角度来说,基于“设计-C语言-虚拟机仿真-真机运行” 效率还是存在问题
考虑到用Lua封装fxapi ,爬过很多了坑之后,终于让屏幕上显示出字符,
lua 的api基本和sdk一致
常见函数:(逐渐更新中)
locate(x,y)
print("..",x,y)
key() 阻塞的输入函数
iskeydown(a,b) 无阻塞的输入函数 基于sh4版本
还有一些简单的图形函数 如line rectangle cycle clear buffer_blit等
lua_register(L, "locate", lua_locate);
lua_register(L, "print", lua_print);
lua_register(L, "printi", lua_printi);
lua_register(L, "printr", lua_printr);
lua_register(L, "iskeydown", lua_keydown);
//graphics
lua_register(L, "line", lua_drawline);
lua_register(L, "key", lua_getKey);
lua_register(L, "clear",lua_clear_screen);
lua_register(L, "sleep", lua_sleep);针对lua调试做了优化,如果遇到语法错误,会显示在屏幕上
先不谈运行效率问题,直接上图
设计-lua平台编码-真机运行 实现一个简单文本浏览功能 代码看起来比Python要简洁,对缩进要求没有那么严格,
只是学习贴 不谈效率 更不谈优化 没有任何实用价值 完善后开源
edit = {
cx = 3,
cy = 1,
t = 1
}
content = {
"VVVVV somthing",
"forexample"
}
function drawcaret()
if math.abs(math.ceil(math.sin(edit.t/10.0))) == 1 then
locate(edit.cx,edit.cy)
print("_")
end
end
function draw()
clear()
for i,v in ipairs(content) do
locate(1,i)
print(v)
end
toolbar()
drawcaret()
end
function toolbar()
locate(1,8)
printr("F_1")
locate(5,8)
printr("F_2")
locate(9,8)
printr("F_3")
end
while (true) do
k = key()
if iskeydown(2,9) then --up
if edit.cy > 1 then
edit.cy = edit.cy - 1
end
end
if iskeydown(3,8) then --down
if edit.cy < #content then
edit.cy = edit.cy + 1
end
end
if iskeydown(3,9) then --left
if edit.cx > 1 then
edit.cx = edit.cx - 1
end
end
if iskeydown(2,8) then --right
edit.cx = edit.cx + 1
end
draw()
sleep(1)
edit.t = edit.t + 1
if edit.t>10000 then
edit.t = 0
end
end
厉害厉害, 求开源 不错呦,前排支持一下 女神节重要更新
分割线
---------------------------------------------------------------------
内置16*16中文常用点阵字库 6690简体中字 再也不需要为中文显示而烦恼了
新增两个函数
function print_line(x,y,str)
print_char(x,y,a0,a1)
a0,a1对应于中文的cp936编码 厉害厉害。 熟悉 GNU 那一套用 gint 还挺方便的
https://www.cncalc.org/thread-25230-1-1.html 本帖最后由 地主家的好儿子 于 2023-3-31 14:25 编辑
4月1日前重要更新
分割线
--------------------------------------
内置动画库 类似于tween或flux的动画库 CTween
这样做动画就方便很多了
一样将cwteen 放在与main.lua同一位置
local ctween = require “ctween”
api 参考
ctween.to(obj, time, vars) 添加动画
ctween.update(dt)动画更新对象,写在update中 地主家的好儿子 发表于 2023-3-31 14:21
4月1日前重要更新
分割线
--------------------------------------
厉害,怎么实现的啊 前排,楼主优秀
页:
[1]