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

罗盘时钟lua迷你世界

--罗盘时钟

--星空露珠工作室制作

--作者:韩永旗

--数字换中文

local zhChar = {'一','二','三','四','五','六','七','八','九'}

function formatNumber( num )

  if type(num)~='number' then return num..'is not a num' end

  if num>99 then return num..'不是两位数' end

  if num==0 then return '零' 

  elseif num>0 and num<10 then return zhChar[num] 

  elseif num>=10 then

   if num==10 then return '十' end

   if num%10==0 then return zhChar[math.floor(num/10)]..'十'

elseif num>10 and num<20 then return '十'..zhChar[num%10]

   else return zhChar[math.floor(num/10)]..'十'..zhChar[num%10]

   end

  end

end

 

  -- 测试一下:(禁用002)

  --print(formatNumber(20))  

  迷你世界监听函数方便使用

  local ui={'7382219973642268578','7382219973642268578_'}

  --设置元件图片 

 local function setgip(p,id,url) Customui:setTexture(p,ui[1],ui[2]..id,url) end

--设置元件大小 

 local function setsize(p,id,d,h) Coustomui:setSize(p,ui[1],ui[2]..id,d,h) end

--设置元件位置

 local function setpos(p,id,x,y) Trigger.UI:setPosition(p,ui[1],ui[2]..id,x,y) end 

--设置元件颜色 

 local function setcolor(p,id,color) Trigger.UI:setColor(p,ui[1],ui[2]..id,color) end

--显示元件 

 local function show(p,id) Trigger.UI:showElement(p,ui[1],ui[2]..id) end

--隐藏元件 

 local function hide(p,id) Trigger.UI:hideElement(p,ui[1],ui[2]..id) end

--设置文字框

 local function setstr(p,id,str) Trigger.UI:setText(p,ui[1],ui[2]..id,str) end

--设置元件文字大小 

 local function setfontsize(p,id,size) Trigger.UI:setFontSize(p, ui[1],ui[2]..id,size) end

--旋转元件

 local function rotate(p,pi) Customui:rotateElement(p,ui[1],ui[2]..button.rotate1,pi) Trigger.UI:setText(p,ui[1],ui[2]..button.rotate2,pi) end 

--元件平滑旋转到指定角度

 local function smoothrotateto(p,id,time,angle) Customui:SmoothRotateTo(p,ui[1],ui[2]..id,time,angle) end

--元件平滑旋转到相对角度

 local function smoothrotateby(p,id,time,angle) Customui:SmoothRotateBy(p,ui[1],ui[2]..id,time,angle) end

--播放声音

 local function music(p) Player:playMusic(p,10948,50,1,false) end

等待时间

 local function wait(time)

    local v1 = time

    if logidx then

        Trigger.Debug:ReportActionRunData(logidx, _status_idx_, 1, v1)

    end

    if v1 == nil then

        print("-- [func_1] Warnning -- param is nil:", v1)

        return

    end

    if Trigger and Trigger.wait then

        return Trigger:wait(v1)

    end

 end

  设置参数大小数量文字位置

  --显示框 2 年份228 节日158 

  local ui0={3,64,125,150,183,215} 

  local data={{'秒',0,59,6,1,370, 15},{'分',0,59,6,1,300, 14},{'时',0,23,15,1,235, 13},{'星期',1,7,45,0,185, 13},{'号',1,31,11.25,0,135, 12},{'月',1,12,30,0,75, 13},}

设置界面大小位置

  local p=247312290

  local function upui(p)

    show(p,1)

  -- setpos(p,1,0,0)

    setsize(p,1,0,0)  

   show(p,2)

    setpos(p,2,-20,0)

   setsize(p,2,400,25)     

   show(p,228)

  setpos(p,228,-15,0)

  setsize(p,228,70,20)

  setstr(p,228,'2024年')

  setfontsize(p,228,15)

 

设置秒分时等等 日期界面

  for k,v in pairs(data) do  

   local id=ui0[k]

    show(p,id)

    setpos(p,id,0,0)

    setsize(p,id,0,0)   

   local str=''   

   for i=v[2],v[3] do if v[1]=='星期' then if i==1 then str=v[1]..'日' else str=v[1]..formatNumber(i-1) end else str=formatNumber(i)..v[1] end  

   local id=ui0[k]+i+v[5]

   local color=Trigger.Graphics:getRandomColor()

   local angle=-(i+v[5]-1)*v[4]

    show(p,id)

    setpos(p,id,0,0)

    setsize(p,id,v[6],20)     

    setstr(p,id,str)

    setcolor(p,id,color)

    setfontsize(p,id,v[7]) 

    smoothrotateto(p,id,4,angle) 

   end

wait(3)

  end

wait(1)

uptime(p)

end

每秒加一时间角度换算刷新界面

 function uptime(p)

local t=os.date("*t",timeInterval)

--print('当前时间:'..t.year.."年"..t.month.."月"..t.day.."日"..B[t.wday]..t.hour..":"..t.min ..":"..t.sec)

local time={t.sec,t.min,t.hour,t.wday,t.day,t.month,t.year}

for k,v in pairs(data) do  

  local id=ui0[k]

  local angle=(time[k]+v[5]-1)*v[4]

  smoothrotateto(p,id,0.6,angle)

end

music(p)

wait(1)

uptime(p)

end

 

玩家进入游戏执行

local function EventMain_1(e)

    local p=e.eventobjid

    upui(p)

end

ScriptSupportEvent:registerEvent_NoError('Game.AnyPlayer.EnterGame', EventMain_1)

http://www.lryc.cn/news/380403.html

相关文章:

  • 【Java】Java基础语法
  • 利用golang_Consul代码实现Prometheus监控目标的注册以及动态发现与配置
  • Python爬虫介绍
  • Linux 进程管理
  • 【车载测试】CAN协议、CAN- FD协议和FlexRay协议 区别
  • 对日期的处理
  • 赵丽颖纯白茉莉绽放温柔之美
  • 软考高级论文真题“论湖仓一体架构及其应用”
  • CentOS系统查看版本的各个命令
  • [保姆级教程]uniapp实现底部导航栏
  • STM32多功能交通灯系统:从原理到实现
  • Pip换源秘籍:让你的Python包飞行起来!
  • Flutter TIM 项目配置
  • 【深海王国】小学生都能玩的单片机?零基础入门单片机Arduino带你打开嵌入式的大门!(8)
  • 第5天:视图与模板进阶
  • 线程间通信方式(互斥(互斥锁)与同步(无名信号量、条件变量))
  • Android使用data uri启动activity或service
  • 能理解你的意图的自动化采集工具——AI和爬虫相结合
  • 基于SpringBoot+大数据城市景观画像可视化设计和实现
  • Oracle表中的数据量达到30万条
  • 【python】python学生成绩数据分析可视化(源码+数据+论文)【独一无二】
  • 如何定期更新系统以保护网络安全
  • 华为数通——OSPF
  • RedHat9 | Web服务配置与管理(Apache)
  • API-事件监听
  • 如何为自己的项目生成changelog
  • MySQL之表碎片化
  • 碳+绿证如何能源匹配?考虑碳交易和绿证交易制度的电力批发市场能源优化程序代码!
  • 【原创】springboot+mysql海鲜商城设计与实现
  • envi5.6+SARscape560安装(CSDN_20240623)