2.做一个定时器,每次到Timer()的时候 把绘制的图形的坐标改变一定的像素(可以做成函数,这样轨迹可以随意改变)
3.使客户区无效 重绘。
4.左键,右键 其控制作用,其实就是用来控制定时器的,你可以在客户区加上两个消息响应函数,分别对应 左键和右键的。当单击左键的时候,触发函数响应,这里可以加上一个killtimer() 单击右键的时候,再加上一个settimer()
我是这个思路.至于实现,还是自己多动手吧,能学到不少东西
屏保就是一个全屏的EXE程序,生成之后,修改扩展名为.scr就是了。屏保程序需要支持三个命令行参数:
/c , 显示一个选项对话框。
/p, 显示预览。
/s, 正常运行。
显示的内容,就用gdi+来绘图就是了。
要做如上面的屏保,无非是先把当前的屏幕位图保存下来,然后画到全屏的一个form上去,再用gdi+在位图上写泡泡。
泡泡的效果,可以用gdi+里的渐变brush来绘制。
碰撞的事情就更好办了,做几个泡泡对象,自己存着自己的大小颜色运动方向速度,按定时器计算下一帧时自己在的位置,计算时算算自己和其他泡泡有没有距离小于半径和的,有的话就计算两球相切处的法线位置斜率,交换速度 ,并修改自己的运动方向。
满意采纳,谢谢
给你提供两种方法:1,创建一个全屏的透明窗口,然后在这个窗口上画泡泡,然后放大、移动就可以了。注意在画泡泡的时候,需要首先进行异或方式进行重画,擦除掉原来的泡泡。
2,创建一个异形的窗口作为泡泡,然后移动窗口就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)