近来突然觉得,将按钮这类简单控件预先由引擎定义好根本没有必要,反而严重限制了创意发挥。因为引擎固化它们的实现,便会固定于某种特定的模式上。比如按钮,标准的实现最多就是为按下、悬停等状态提供不同的表现,通常就是图片和文字的差别。而游戏作为一种创意作品,可能要更活泼的模式,比如悬停时放大、抖动动画、在按钮上放其它修饰等等。可能的创意非常之多,无法用固定的模式来全部支持。

那么如何用脚本来定制呢?当前 Web 网页就提供了一个很好的例子,网页开发者用 HTML 和 JavaScript 可以做出各式各样的按钮、菜单等控件。其原理只是简单的标签元件组合以及显示属性的修改。如:

<div class=”buttonNormal” onMouseHover=”...” onMouseOut=”...” onClick=”...”>

Button Face

</div>

借鉴同样的方法,游戏脚本也可以定义自己的控件样式。当然,重用时必须要简单,幸运的是 JavaScript 有对对象的支持,那么只要写一个按钮对象就行了,而使用该按钮类型时就完全不用关心它是如何实现的了,和使用引擎内置控件一样。于是,做了下尝试,用脚本实现了一种简单的按钮对象:

function Button ( parent , x , y , width , height , text , onClickFunc )

{

var elem = Gui . CreateElement ( "Element" , parent , x , y , width , height );

writeln ( x , y , width , height );

this . Element = elem ;

elem . SetImage ( "Gui/ui2.png" , 144 , 48 , 16 , 16 );

elem . ImageStretchMode = "NineGrid" ;

elem . ImageColor = Color . Black ;

elem . Text = text ;

elem . add_Click ( onClickFunc );

elem . add_MouseEnter ( function () {

elem . ImageColor = Color . White ;

elem . TextColor = Color . Black ;

});

elem . add_MouseLeave ( function () {

elem . ImageColor = Color . Black ;

elem . TextColor = Color . White ;

});

}

创建三个按钮的效果如下

通过脚本自由设计游戏UI风格相关推荐

  1. 《游戏脚本的设计与开发》-(RPG部分)3.8 通过脚本来自由控制游戏(一)

    注意:本系列教程为长篇连载无底洞,半路杀进来的朋友,如果看不懂的话,请从第一章开始看起,文章目录请点击下面链接. http://blog.csdn.net/lufy_legend/article/de ...

  2. 游戏UI框架设计(三) : 窗体的层级管理

    游戏UI框架设计(三) ---窗体的层级管理 UI框架中UI窗体的"层级管理",最核心的问题是如何进行窗体的显示管理.窗体(预设)的显示我们前面定义了三种类型: 普通.隐藏其他.反 ...

  3. 游戏UI设计干货:怎么让游戏界面更具科技感?

    说到科技风,大家都会想到或者感觉到的是未来感,高科技的产物风格.那么大家可以一起想一下,在我们的身边有哪些是让你觉得有未来感.科技感的设计. 星球大战系列.科幻大片.液晶仪表盘.多媒体.VR AR.. ...

  4. wpf 使子ui元素可视区域不超过父元素_对游戏UI设计的一点思考

    UI决定了一个游戏的初体验,甚至决定了玩家的初始留存,甚至可以说决定了一个游戏的品质,虽然看起来是表象的,却是直指游戏核心的.简单讲,玩家认可一款游戏永远都是造型场景好,剧情好,画质棒:但是玩家骂一款 ...

  5. 如何设计好一款iOS游戏UI的细节

    http://www.wumii.com/item/wtxvaLr1 如何设计好一款iOS游戏UI的细节 2013-06-06 91手册 如果您觉得文章好请加微信号:shouyoushouce 并分享 ...

  6. unity之游戏UI界面框架设计实战学习(一)

    游戏UI界面框架设计实战精讲视频课程 配合上博客 刘老师讲Unity 刚开始接触UI界面. 觉得讲得非常好. 做一下笔记. 课程总体分为七大部分: 一: UI框架设计理念 整体简单介绍即将带领大家开发 ...

  7. 优漫动游:游戏ui设计包括什么?

      游戏UI设计是游戏开发过程中非常重要的一部分,涉及到游戏中各种交互元素的设计.下面将介绍游戏UI设计包括哪些内容. ​   主菜单界面设计   主菜单是游戏的入口,主菜单界面设计需要具有视觉冲击力 ...

  8. 游戏UI框架设计(四) : 模态窗体管理

    我们在开发UI窗体时,对于"弹出窗体"往往因为需要玩家优先处理弹出小窗体,则要求玩家不能(无法)点击"父窗体",这种窗体就是典型的"模态窗体" ...

  9. 《游戏脚本的设计与开发》-(RPG部分)3.5 游戏背包和任务系统

    注意:本系列教程为长篇连载无底洞,半路杀进来的朋友,如果看不懂的话,请从第一章开始看起,文章目录请点击下面链接. http://blog.csdn.net/lufy_legend/article/de ...

最新文章

  1. 2021年中国工业互联网安全大赛核能行业赛道writeup之鱿鱼游戏
  2. linux系统服务设置命令--chkconfig命令参数及用法详解
  3. CardLayout布局练习(小的图片浏览器)
  4. Linux之使用MobaXterm远程连接Linux前提条件
  5. python小白教程-面向小白的Python教程:入门篇(六)
  6. 坑爹的RockSaw和坑爹的windows7
  7. Wireshark coloring rules tips
  8. 单片机c语言信号灯定时编程,单片机定时器控制交通灯程序1
  9. [转帖]从 2G 到 5G,手机上网话语权的三次改变
  10. matlab欠采样,科学网—傅立叶欠采样算子的Matlab代码 - 屈小波的博文
  11. 支付宝-线上资金授权(小程序)
  12. oracle里面查找重复项,Oracle数据库查询重复数据及删除重复数据方法
  13. 阿里云ECS服务器退订
  14. 关于解决netstat -nb中出现请求的操作需要提升问题
  15. xxm系统-DB中勒索病毒
  16. 阿里云对象存储(oos)
  17. html实现鼠标悬停效果实现
  18. 第三届强网杯线上赛记录
  19. dede栏目文章数与实际数不符
  20. 四象限运行模式_双向可控硅四象限触发方式介 - 双向可控硅四象限触发方式介绍_双向可控硅触发电路的设计...

热门文章

  1. 一篇文章学会二进制的运算以及原码、反码、补码
  2. flipflop和latch以及register的区别
  3. 大数据早报:谷歌Cloud Natural Languages API推新技术 全球三分之二的人口通过移动设备上网(9.21)
  4. C++中的生僻关键字
  5. 灾难恢复能力国家标准等级
  6. 使用Eric构建使用Caffe应用程序
  7. php获取蓝凑云文件列表,【PHP】利用蓝奏网盘做个人小文件网盘和获取真实下载地址...
  8. Mac Terminal 终端:入门指南及进阶技巧
  9. MacBook Pro(苹果系统macOS)全国增值税发票查验平台无法获取验证码解决
  10. 微信小程序播放音乐并同步一次显示一行歌词