完成了基本界面.

本来想自画UI,但是考虑到工作量较大和美观程度有限,以及工具使用对象是比较初级玩家,处于性价比和最初目的,放弃了自绘.

虽然个人比较喜欢黑色,但是工具开发来是给大家用的,而且面向初级使用者,所以还是比较简单界面容易上手.

于是变成这样.

这里的树view还是自绘了一下,原来+号不适用.

目前进度比较慢.

总是做一步要想很多,后面是否会需要修改地方,怎么样做最优.

对于初学游戏开发者,这样的界面应该比较习惯,接受快把.

目前完成内容:

1.基本UI框架,地图增删改

2.编辑单个地图的格子绘制,还不能添加纹理什么的.

3.地图编辑视口的镜头控制.

说一下目前用到的设计思路.

大的框架是:组件模式.由各种控件拼凑在一个主窗口中,每个自定义控件完成一个单独的功能,视为一个组件.
也是View层.

Model层包含了所有工程文件需要保存的数据.用C#自带序列化功能来保存.

因为逻辑代码相对来说不是很复杂,于是都放在了View控件下了,没有分一个逻辑层出来.

于是乎,View->事件->view代码中进行业务处理->更新Model->发送数据更新通知->由各接收方订阅事件并处理.

类似主动MVC模式.

有个比较妙的地方分享一下:我学angular的实现了Control所有子控件值和Model之间的双向绑定.

原理也很简单,就是遍历所有子控件和反射创建对象.

于是一个From里的所有填写内容,一句代码就获得了Model对象,反之也是.

这个工具的意义是:

让不会写代码的人,很轻松开发一个2D桌面游戏.

所有功能都尽量易用.

Nico Game Studio 1.基本UI和地图编辑基础功能的更多相关文章

  1. Nico Game Studio 3.地图纹理编辑 物体皮肤编辑

    完成功能: 1.地图纹理编辑功能. 图层编辑,添加/删除纹理,地图编辑.网格绘制.

  2. Visual Studio 单元测试之六---UI界面测试

    原文:Visual Studio 单元测试之六---UI界面测试 UI界面测试其实就是录制操作路径(Mapping),然后按照路径还原操作顺序的一个过程.这个方法对于Winform和Webform都同 ...

  3. iOS开发UI篇—Button基础

    iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状 ...

  4. 支持在安卓中UI(View)的刷新功能

     这是一款可以支持在安卓中UI(View)的刷新功能,Android中对View的更新有很多种方式,使用时要区分不同的应用场合.我感觉最要紧的是分清:多线程和双缓冲的使用情况.   现在可以尝试理解下 ...

  5. 通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率

    原文:通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率 使用 Visual Studio 开发 C#/.NET 应用程序,以前有 ReSharper 来不足其各项功能短板 ...

  6. Visual Studio 2022 预览版3 最新功能解说

    我们很高兴地宣布Visual Studio 2022 的第三个预览版问世啦!预览版3 提供了更多关于个人和团队生产力.现代开发和持续创新等主题的新功能.在本文中,我们将重点介绍Visual Studi ...

  7. 使用Cloud application Studio在C4C UI里创建下拉列表(dropdown list)

    在Cloud Application Studio里新建一个Code List Data Type: 维护Value和描述信息,以及在ABSL里使用的constant值. 保存之后,上述维护的信息会存 ...

  8. 2.3 使用Android Studio 简单设计UI界面

    首先 创建一个新的项目找到app 文件目录下的layout的 activity_main.xml 因为Android Studio 是可视化的,所有操作都可以在图形界面进行. 该res 界面当中  d ...

  9. Android Studio学习随笔-UI线程阻塞以及优化

    我们在使用手机的时候,经常会遇到一个问题:先是卡死,然后跳出该程序无响应,是否关闭的提示(当然有可能是我们手机性能太差=.=)这是因为线程的阻塞引起的,在这里我讲述一下UI线程,一般处理程序会在UI线 ...

随机推荐

  1. pcDuino 刷系统-LiveSuit

    准备: pcduino : 点此购买 支持HDMI的显示器:点此购买  或参考无显示器刷机与使用.至少1张4G microSD卡,如果内存卡不大,可以用内存卡刷内核,用u盘刷系统   LiveSuit ...

  2. 【转】SourceTree的简单使用

    原文网址:http://blog.csdn.net/u011439289/article/details/42126507 今天开始参与公司项目的代码编写,公司内部采用的是gitlib,所以用到了So ...

  3. (转载)AS3中的mouseEnabled与mouseChildren

    (转载)http://www.cnblogs.com/gongchen/archive/2013/05/09/3069055.html mouseEnabled与mouseChildren都是用来确定 ...

  4. C# Read/Write another Process' Memory ZZ

    Today's tutorial is about...processes' memory! In this article I'll show you how to read/write a pro ...

  5. poj magic number

    Problem H Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Sub ...

  6. python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出

    看了一个博客,挺不错的.http://www.cnblogs.com/turtle-fly/p/3280519.html 标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入( ...

  7. 怎样安装Joomla 1.7网站系统

    http://jingyan.baidu.com/article/8065f87fc3de112331249830.html   如果你想使用Joomla(地球上最好的内容管理系统之一)搭建一个网站, ...

  8. 事物复制中大项目(Large Article)出问题如何快速修复

    事物日志中如果大的发布项目(Article)出问题了,并且影响了系统的使用,如何快速的解决? 一般的做法是重新用快照或者备份初始化,但是如果出问题的表非常大(上亿的记录,几十GB的数据),使用初始化是 ...

  9. 在终端中创建一个简单的mysql表格

    打开终端后输入:/usr/local/MySQL/bin/mysql -u root –p 然后输入密码:***** 创建数据库:create database work; 使用当前数据库:use w ...

  10. onethink对二维数组结果集进行排序

    <?php /** * 对查询结果集进行排序 * @access public * @param array $list 查询结果 * @param string $field 排序的字段名 * ...