当前位置: 首页 > news >正文

常州网站快速排名优化我的世界做壁纸网站

常州网站快速排名优化,我的世界做壁纸网站,产品推广方案范文500字,律师做几个网站编辑单元格 我们现在有了一个小编辑器,可以移动光标到不同的单元格之间。现在,我们想创建一个系统,可以编辑单个单元格。我们已经有了一个系统,但那个系统并不完善,因为它只允许你增加或减少1,这不太好。我…

编辑单元格

我们现在有了一个小编辑器,可以移动光标到不同的单元格之间。现在,我们想创建一个系统,可以编辑单个单元格。我们已经有了一个系统,但那个系统并不完善,因为它只允许你增加或减少1,这不太好。我们希望能够选中一个单元格,然后直接输入一个数字。这在任何编辑器中都是非常有用的功能。

键盘输入处理

上次我展示了如何从键盘获取按键,并将它们组合成一个字符串来输入内容。但今天,我们要更系统地来做这件事。我打算把这个功能封装在一个自己的函数里,我称之为do_keys。这样,我们可以在更新函数之前调用do_keys来处理键盘输入。

处理特殊按键

当我们按下P键时,会弹出一个菜单,这不是我们想要的。同样,按下回车键也会触发菜单。我们需要避免这种情况。我找到了一种方法,通过修改内存地址来暂时阻止菜单弹出。这样,当我们按下P键时,菜单就不会弹出了,但回车键仍然会触发菜单。不过,我们可以保留回车键作为打开菜单的一种方式。

编辑模式

现在,我想进入一种编辑模式,允许我在单元格中输入值。我会把所有的按键输入存储在一个变量中,当用户按下回车键时,再将这个变量的内容输入到数据数组中。这样做是为了避免在用户输入过程中改变单元格的值,直到用户准备好提交数据。

显示输入内容

为了在UI上显示正在输入的内容,我会在绘制整个表格后,在正在编辑的单元格上方绘制一个小的文本框,显示输入的内容。

光标和删除功能

接下来,我需要实现几个功能:显示光标、移动光标和删除字符。光标将是一个闪烁的小方块,可以左右移动。删除功能允许用户删除已经输入的字符。

实现光标闪烁

为了实现光标的闪烁效果,我使用了一个时间函数。通过检查时间的小数部分,我可以在特定的时间间隔内切换光标的显示状态,从而实现闪烁效果。

插入字符

当用户输入字符时,我需要将这些字符插入到光标所在的位置,而不是总是添加到字符串的末尾。这要求我重新组织字符串,将新字符插入到光标之前。

删除字符

删除字符的功能相对复杂一些。如果光标在字符串的末尾,我可以简单地删除最后一个字符。但如果光标在字符串的中间,我需要重新组织字符串,删除光标之前的字符。

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__
--show cursor
--move the cursor
--backspacefunction _init()--- customize here ---#include shmup_myspr.txtfile="shmup_myspr.txt"arrname="myspr"data=myspr----------------------debug={}_drw=draw_table_upd=update_tablemenuitem(1,"export",export)reload(0x0,0x0,0x2000,"cowshmup.p8")curx=1cury=1scrolly=0scrollx=0poke(0x5f2d, 1)endfunction _draw()_drw()-- debug --cursor(4,4)color(8)for txt in all(debug) doprint(txt)end
endfunction _update60()dokeys()_upd()
endfunction dokeys()if stat(30) thenkey=stat(31)if key=="p" thenpoke(0x5f30,1)endelsekey=nilendend
-->8
--drawfunction draw_table()cls(2)--spr(0,0,0,16,16)if menu thenfor i=1,#menu dofor j=1,#menu[i] dolocal c=13if i==cury and j==curx thenc=7if _upd==upd_type thenc=0endendlocal mymnu=menu[i][j]bgprint(mymnu.w,mymnu.x+scrollx,mymnu.y+scrolly,13)   bgprint(mymnu.txt,mymnu.x+scrollx,mymnu.y+scrolly,c) endendendif _upd==upd_type thenlocal mymnu=menu[cury][curx]local txt_bef=sub(typetxt,1,typecur-1)local txt_cur=sub(typetxt,typecur,typecur)local txt_aft=sub(typetxt,typecur+1)txt_cur=txt_cur=="" and " " or txt_cur if (time()*2)%1<0.5 thentxt_cur="\^i"..txt_cur.."\^-i"endlocal txt=txt_bef..txt_cur..txt_aftbgprint(txt,mymnu.x+scrollx,mymnu.y+scrolly,7)end--[[for i=1,#data dofor j=1,#data[i] dobgprint(data[i][j],2+18*j,2+8*i,7)endend]]
endfunction refresh_table()--[[menu={{{txt="hello",cmd="say hello",x=2,y=2}}}]]--menu={}for i=1,#data dolocal lne={}for j=1,#data[i] doadd(lne,{txt=data[i][j],cmd="edit",cmdx=j,cmdy=i,x=-10+14*j,y=-4+8*i,w="   "})endadd(menu,lne)end
end
-->8
--updatefunction update_table()refresh_table()if btnp(⬆️) thencury-=1endif btnp(⬇️) thencury+=1endcury=mid(1,cury,#menu)if btnp(⬅️) thencurx-=1endif btnp(➡️) thencurx+=1endcurx=mid(1,curx,#menu[cury])local mymnu=menu[cury][curx]if mymnu.y+scrolly>110 thenscrolly-=1endif mymnu.y+scrolly<10 thenscrolly+=1endscrolly=min(0,scrolly)if mymnu.x+scrollx>110 thenscrollx-=1endif mymnu.x+scrollx<10 thenscrollx+=1endscrollx=min(0,scrollx)if btnp(❎) thenlocal mymnu=menu[cury][curx]if mymnu.cmd=="edit" then_upd=upd_typetypetxt=tostr(mymnu.txt)typecur=#typetxt+1endend
endfunction upd_type()if key thenif key=="\r" then-- enterlocal mymnu=menu[cury][curx]poke(0x5f30,1)typetxt=tonum(typetxt)if typetxt==nil thentypetxt=0enddata[mymnu.cmdy][mymnu.cmdx]=typetxt_upd=update_tablereturnelseif key=="\b" then--backspaceif typecur>1 thenif typecur>#typetxt thentypetxt=sub(typetxt,1,#typetxt-1)elselocal txt_bef=sub(typetxt,1,typecur-2)local txt_aft=sub(typetxt,typecur)typetxt=txt_bef..txt_aftendtypecur-=1endelseif typecur>#typetxt thentypetxt..=keyelselocal txt_bef=sub(typetxt,1,typecur-1)local txt_aft=sub(typetxt,typecur)typetxt=txt_bef..key..txt_aftendtypecur+=1endendif btnp(⬅️) thentypecur-=1endif btnp(➡️) thentypecur+=1endtypecur=mid(1,typecur,#typetxt+1)
end
-->8
--toolsfunction bgprint(txt,x,y,c)print("\#0"..txt,x,y,c)
endfunction split2d(s)local arr=split(s,"|",false)for k, v in pairs(arr) doarr[k] = split(v)endreturn arr
end
-->8
--i/o
function export()local s=arrname.."=split2d\""for i=1,#data doif i>1 thens..="|"endfor j=1,#data[i] doif j>1 thens..=","ends..=data[i][j]endends..="\""printh(s,file,true)debug[1]="exported!"
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

http://www.dtcms.com/a/396651.html

相关文章:

  • 您的网站未备案wordpress视差插件
  • 亚马逊做网站发礼物换评价宝安做棋牌网站建设有哪些公司
  • 做网站怎么找客户联系方式网站建设的重点是什么
  • datadata.asp 网站 破解西安高端网站制作公司哪家好
  • 电商运营自学网站网站开发游戏程序开发
  • 淘宝客网站用什么软件做cdn wordpress 统计
  • 黑龙江省建设教育网站查询想找可以在家做的手工活去什么网站
  • php 外贸商城网站建设网上怎么查自己的房屋结构图
  • 最专业的企业营销型网站建设公司生成图片
  • html企业网站源码软件开发公司专业的有哪些
  • 三门峡网站建设电话wordpress 此网页包含重定向循环
  • 合肥电子商务开发网站建设jsp网站开发实例视频教程
  • 天津公司网站建设如何评价一个网站设计的好坏
  • 网站建设的电话回访郑州做网站优化电话
  • seo网站建设步骤做洗衣液的企业网站
  • 网站开发建设招聘要求seo外包品牌
  • 张家港营销型网站建设很多搜索词网站怎样做
  • 网站改造设计方案邢台网站建设最新报价
  • 水利建设工程网站seodao cn
  • wordpress备份文件在哪随州抖音seo收费标准
  • 电子商务网站建设前的分析北京官网首页
  • 国外网站代做重庆网站建设公司电话
  • 金坛网站优化国际新闻最新消息十条摘抄
  • 网站建设的思想北京的广告公司有哪些
  • 固安县建设局网站中文域名 网站
  • wordpress站点标题和副标题广告策划
  • Redis分布式缓存第二篇
  • 网站建设人员组织网站做区块链然后往里面投钱
  • 外贸网站建设内容包括绿色农业网站源码
  • 凉州区住房和城乡建设局网站做听书网站怎么做