不规则控件(100分)

  • 主题发起人 主题发起人 LuckyGrass
  • 开始时间 开始时间
L

LuckyGrass

Unregistered / Unconfirmed
GUEST, unregistred user!
我准备开发一个拼图软件,不规则形状控件(如:十字形)如何做,要求鼠标点击能够旋转、翻转,并能用鼠标拖动
 
是不是可以用位图的屏蔽掩码?
 
先追求效果吧,位图的屏蔽掩码倒是没想过,不知如何?
 
我在Delphi Super Page中看到过这类控件,它的实现原理就是popeye所说的。
 
在一本的delphi书中有详细做一个五角星的控件
的例子,好象叫<delphi4.0高级程序员指南>的,
我回家在找一找.
 
是《DELPHI 高级开发指南》,在网上有它的例程的拷贝,
你可以搜索一下"DELPHI 高级开发指南".
 
就是用 位图的屏蔽掩码,我做了一个可以随时根据 Mask BitMap改变形状的
PanelPro,用到一个叫 Bmp2Rgn的单元,你可以在控件库里找到,
 
前些日子cakk推荐的ep系列控件包中有许多不规则形状的控件呀,包括form,button
等等。
 
我的拼块是由若干个方块组成的,类似于俄罗斯方块,如果不用屏蔽
掩码,是否可以用组合法,由小方块组成拼块控件?向高手请教!
 
那就用 数组 和 Image 控件,自己识别完成,我有一个用 Tc
写的双打俄罗斯,旋转就是用的数组完成
 
不规则形状控件可以去看看1stclass的源码
 
xWolf: 你能给我1stclass的源码吗?thanks
 
xWolf老兄,有好东西应该拿出来共享嘛!
 
俄罗斯方块不是已经有源程序了么?
 
但拚图游戏是要拚在一起的呀.
用bitmap肯定不能实现凹凸部分的衔接.
形状的不规则程度.如果像俄罗斯方块,就可以用小单元平凑,
可以用小单元的visible 属性来处理,避免了动态创建的不确定性.
如果很不规则了,比如地图的平图,就只能模拟.
比如判断使用者把四川和新疆拼好了,就调用显示四川和新疆在一起的图,
让用户感觉到是自己平上去的.
当然这个需要实现准备大量的图片资料.
而用来移动,旋转的可以用透明方法来实现.
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
D
回复
0
查看
639
DelphiTeacher的专栏
D
后退
顶部