首页 > 如何把"拖动物件"行为的代码包装得很好看?

如何把"拖动物件"行为的代码包装得很好看?

游戏里要让鼠标可以拖动一个物体, 代码分散在鼠标按下/松开/移动三个event里, 还要加一个全局变量记录物体是否指针按住, 实在是太丑了, 要如何包装得代码集中又简洁呢?


你的“物体”肯定是被封装成一个对象的吧;
当鼠标事件发生时,全局处理子程序只需要判断事件是发生在哪个对象上的,然后把鼠标事件传入该对象即可;
在对象内部建立针对本对象的处理子程序,这样所有的鼠标事件都被封装到一个类的一个子程序中;
至于一些标记用变量(比如判断当前的鼠标移动是移经对象还是拖动对象),声明为子程序内的static类型即可,不必放到全局或者类空间里去(因为你没说,我默认当你是使用了C++一类的语言,其他的语言应该也有类似的语法)

【热门文章】
【热门文章】