多边形编辑器(一)

一、功能介绍

      box2d虽然很强大,例子里也眼花缭乱,但是缺少配套的工具,代码里创建刚体的时候需要写好多点坐标,很是要命。第一感觉是到网上找找有没有现成的工具,很遗憾,百度了大半天仅有个mac系统下用的工具,而且还是收费的。只好咬咬牙自己写一个工具了,抽出1周多宝贵晚上下班回家休息的时间,基本功能已经实现了。

      主要实现了以下功能:

        ① 添加特定多边形,如圆形、矩形,自定义多边形,并支持框选、拖拽、缩放      

        ② 顶点编辑功能

              可以添加顶点、删除顶点、拖拽顶点


   


    


     下一步实现序列化的功能,然后再来个自动生成box2d创建刚体代码的功能就基本能用于实战了。。


二、一点点经验

    1、 工具用MFC写的,一开始想到的类似的功能是自带的CRectTracker类,但是想一想CRectTracker类好像只能往里放矩形,最后还是自己维护一堆多边形对象来实现的。

    2、 实现添加顶点功能的时候,由于使用者鼠标点击的位置是随机的,不是按照多边形的形状来点击的,就有可能导致在画多边形的时候,画出一个意想不到的形状,所以每当顶点发生变化的时候,都要对多边形的顶点按顺时针或逆时针排序。具体的排序算法自行百度关键字“多边形点集排序”。

    3、抛弃了GDI接口,使用Direct2d接口。Direct2d在Win7以上的电脑运行的条件目前来看已经不是什么大问题了,而且在某个版本的VS后,MFC支持了D2D并提供了很多以CD2Dxxxx开头的类,还是简化了不少。主要还是想熟悉一下Direct2d的使用方法。



      


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值