太丑陋了!!!!C# + Lua第一天研究成果

今天开始研究WPF + Lua。

 

总的来说感觉被虐了……

主要是WPF的UI玩不转。

 

简单来说,WPF里调Lua这都很好实现。。

问题是!!!

我想在Lua的一条指令里实现 一个对UI控件的操作,然后阻塞在对鼠标的响应上。。(就是有鼠标响应之后再执行下一条语句)

 

这个花了我一晚的时间……而且还是非常非常丑陋的实现。。基本原理和我之前用HGE实现UI渲染机制同出一辙。。

这实在是丑陋得令我自己都忍不了了,放上丑陋的成果。明天继续研究……

 

丑陋的实现原理:

 

我实现了一个后台线程作为LuaAPI代理线程,Lua在调用C#功能时先走这个线程代理,由于此线程不能对UI控件进行操作(WPF中禁止跨线程访问UI元素。),我用了一个Dispatcher.BeginInvoke的基于UI线程控制的异步机制来把“代理API”转交到UI。

 

运行画面:

 

 

 

代码:

 

 

 

 

LUA代码:

 

BackImage("battle_back.jpg");
Music("test.mp3");
BindRolePic("测试人物1","2.png");
BindRolePic("测试人物2","MM.png");
Dialog("测试人物1","你说这方法丑不丑陋?");
Dialog("测试人物2","太他妈丑了");
Dialog("测试人物1","好吧,明天再弄。。");
Dialog("测试人物2","嗯。。。。");
Debug("finish script test");

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值