圆形时钟代码库(时钟程序代码)
admin 发布:2022-12-19 18:46 118
今天给各位分享圆形时钟代码库的知识,其中也会对时钟程序代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、vb中怎样做出时钟?
- 2、用VB模拟时钟转动源代码,谢谢啊!急需~~
- 3、c语言 时钟模拟
- 4、怎么让pictureBox.Paint += new PaintEventHandler(this.pictureBox_Paint);执行后使picturebox的背景还原
- 5、谁能提供一个24小时制的flash时钟源码
vb中怎样做出时钟?
VB可使用Timer控件、Line控件和绘图或加载图片等制作指针式时钟。
Timer 控件,通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。
Line 控件,Line 控件是图形控件,它显示水平线、垂直线或者对角线。
运行时不能使用 Move 方法移动 Line 控件,但是可以通过改变 X1、X2、Y1 和 Y2
属性来移动它或者调整它的大小。
Circle 方法,在对象上画圆、椭圆或弧。
以下是通过加载图片的指针式时钟代码:
Option Explicit
Private Const PI = 3.1415926
Dim X(1) As Single, Y(1) As Single
Dim OriAngle As Single, DestAngle As Single, r As Single
Private Sub RotateLine(objL As Line, bsPointX As Single, bsPointY As Single, RotateAngle As Single)
With objL
X(0) = .X1
Y(0) = .Y1
X(1) = .X2
Y(1) = .Y2
End With
Dim i As Integer
For i = 0 To 1
If X(i) - bsPointX 0 Then
OriAngle = Atn((Y(i) - bsPointY) / (X(i) - bsPointX))
Else
OriAngle = IIf(Y(i) bsPointY, PI / 2, 1.5 * PI)
End If
If X(i) - bsPointX 0 Then
If OriAngle 0 Then
OriAngle = PI - Abs(OriAngle)
Else
OriAngle = PI + Abs(OriAngle)
End If
End If
DestAngle = OriAngle + RotateAngle
r = Sqr((X(i) - bsPointX) ^ 2 + (Y(i) - bsPointY) ^ 2)
X(i) = bsPointX + r * Cos(DestAngle)
Y(i) = bsPointY + r * Sin(DestAngle)
Next i
With objL
.X1 = X(0)
.Y1 = Y(0)
.X2 = X(1)
.Y2 = Y(1)
End With
End Sub
Private Sub Form_Load()
Timer1.Interval = 1000
Dim i As Long
For i = 1 To Val(Mid(Time$, 7, 2))
RotateLine Line3, Line3.X1, Line3.Y1, 1 * PI / 30
Next
For i = 1 To Val(Mid(Time$, 4, 2))
RotateLine Line2, Line2.X1, Line2.Y1, 1 * PI / 30
Next
For i = 1 To Val(Mid(Time$, 1, 2)) * 5 '对时针
RotateLine Line1, Line1.X1, Line1.Y1, 1 * PI / 30
Next
For i = 1 To Val(Mid(Time$, 4, 2)) '对时针
RotateLine Line1, Line1.X1, Line1.Y1, 1 * PI / 360
Next
End Sub
Private Sub Timer1_Timer()
RotateLine Line3, Line3.X1, Line3.Y1, 1 * PI / 30
RotateLine Line2, Line2.X1, Line2.Y1, PI / 1800
If Mid(Time$, 7, 2) = "00" Or Mid(Time$, 7, 2) = "30" Then
RotateLine Line1, Line1.X1, Line1.Y1, 1 * PI / 720
End If
Me.Caption = Time$
End Sub
用VB模拟时钟转动源代码,谢谢啊!急需~~
呵呵,本转一个VB吧主CBM666写的时钟代码.. '添加 Line1 Line2 Line3 Timer1 Dim xx1%, yy1% '宣告变量xx1,yy1为整型(给圆心用的) Private Sub Form_Load() Me.AutoRedraw = True '重画为真 '窗体置中 Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - meiheight) \ 2 '计算圆心的x轴 xx1 xx1 = Me.Width \ 2 '计算圆心的y轴 yy1 yy1 = (Me.Height - 405) \ 2 '将下面3根针的起点x1,y1全定位在圆心上 Line1.X1 = xx1: Line1.Y1 = yy1 Line2.X1 = xx1: Line2.Y1 = yy1 Line3.X1 = xx1: Line3.Y1 = yy1 '画钟的外匡让线条粗一点 Me.DrawWidth = 5 '画一个圆 Me.Circle (xx1, yy1), 950 Line2.BorderWidth = 1 '秒针的粗度 Line2.BorderColor = QBColor(12) '秒针的颜色 Line1.BorderWidth = 2 '分针的粗度 Line1.BorderColor = QBColor(14) '分针的颜色 Line3.BorderWidth = 3 '时针的粗度 Line3.BorderColor = QBColor(10) '时针的颜色 Timer1.Interval = 500 End Sub Private Sub Timer1_Timer() Me.Caption = Time '标题栏显示现在时间 ' Second Hand '画秒针 '计算秒针的角度,每一秒是 360度除以60秒=6度, 所以要乘上6 sdeg = Second(Time) * 6 'vb是以弧度为单位来计算,所以角度换算弧度是 3.14/180, 秒针跑了N度就乘上N srad = (3.14 / 180) * sdeg '900是秒针的长度,以圆心(line2的x1,y1)为准,计算出在这个弧度时line2.x2在什么位置 Line2.X2 = Line2.X1 + (900 * Sin(srad)) '900是秒针的长度,以圆心(line2的x1,y1)为准,计算出在这个弧度时line2.y2在什么位置 Line2.Y2 = Line2.Y1 - (900 * Cos(srad)) ' Minute Hand '画分针 '计算分针的角度,每一分是360度除以60分=6度, 所以要乘上6,秒针动分针也会动,所以还要加上秒针移动所产生的分针移动. '秒针转了1圈360度,分针才会前进1分钟=6度,所以比例是 6/360等于 1/60 Mdeg = Minute(Time) * 6 + (sdeg * 1 / 60) 'vb是以弧度为单位来计算,所以角度换算弧度是 3.14/180, 分针跑了N度就乘上N mrad = (3.14 / 180) * Mdeg 'vb是以弧度为单位来计算,所以角度换算弧度是 3.14/180, 分针跑了N度就乘上N '750是分针的长度,以圆心(line1的x1,y1)为准,计算出在这个弧度时line1.x2在什么位置 Line1.X2 = (750 * Sin(mrad)) + Line1.X1 '750是分针的长度,以圆心(line1的x1,y1)为准,计算出在这个弧度时line1.y2在什么位置 Line1.Y2 = Line1.Y1 - (750 * Cos(mrad)) ' Hour Hand '画时针 '计算时针的角度,每一小时时针跑30度,分针动时针也会动,所以还要加上分针移动所产生的时针移动. '分针转了1圈360度,时针才会前进1刻划=30度,所以比例是 30/360等于 1/12 hdeg = Hour(Time) * 30 + (Mdeg / 12) 'vb是以弧度为单位来计算,所以角度换算弧度是 3.14/180, 时针跑了N度就乘上N hrad = (3.14 / 180) * hdeg '500是时针的长度,以圆心(line3的x1,y1)为准,计算出在这个弧度时line3.x2在什么位置 Line3.X2 = (500 * Sin(hrad)) + Line3.X1 '500是时针的长度,以圆心(line3的x1,y1)为准,计算出在这个弧度时line3.y2在什么位置 Line3.Y2 = Line3.Y1 - (500 * Cos(hrad)) End Sub参考资料:
c语言 时钟模拟
#includemath.h
#includedos.h
#includegraphics.h
#includeconio.h
#includetime.h
#define PI 3.141592653589793
int h,m,s,i,l,mon,y,d;
struct time t;
struct date data;
draw()
{
gettime(t); //取得时间信息到t
s=t.ti_sec; //秒
h=t.ti_hour; //时
m=t.ti_min; //分
getdate(data); //取得日期信息到data
y=data.da_year; //年
mon=data.da_mon; //月
d=data.da_day; //日
//画出钟的外圆(即是轮廓)
setcolor(11);
circle(300,200,152);
setcolor(3);
circle(300,200,157);
//画出60个分钟刻度
for(i=0;i60;i+=1)
{
if(i%5==0) l=140;
else l=145;
line(300+150*sin(i*PI/30),200-150*cos(i*PI/30),
300+l*sin(i*PI/30),200-l*cos(i*PI/30));
}
//画秒针
setcolor(19);
line(300,200,300+140*sin(s*PI/30),200-140*cos(s*PI/30));
//画分针
setcolor(3);
line(300,200,300+110*sin(m*PI/30),200-110*cos(m*PI/30));
//画时针
setcolor(11);
line(300,200,300+90*sin(((float)h+(float)m/60)*PI/6),200-90*cos(((float)h+(float)m/60)*PI/6));
//标注钟盘上的"3"、"6"、"9"、"12"
settextstyle(3,0,2);
outtextxy(430,190,"3");
outtextxy(295,320,"6");
outtextxy(160,190,"9");
outtextxy(293,60,"12");
}
main()
{
int gd=DETECT,gm;
initgraph(gd,gm,""); //初始化屏幕模式
setbkcolor(8);
while(!kbhit()) //若有键盘输入则跳出(结束程序)
{
draw(); //绘制钟
settextstyle(3,0,5);
setcolor(9);
outtextxy(60,170,"my clock");
gotoxy(35,17);
//打印出数字形式的时间(hh:mm:ss)
if(h10) printf("0");printf("%d:",h);
if(m10) printf("0");printf("%d:",m);
if(s10) printf("0");printf("%d",s);
gotoxy(33,18);
printf("%d:",y);
//打印出日期(mm:dd)
if(mon10) printf("0");printf("%d:",mon);
if(d10) printf("0");printf("%d",d);
sound(200); //让喇叭以200HZ叫一声
delay(70); //延时0.07秒,即是声音延续0.07秒
nosound(); //停止声音
sleep(1); //停止一秒
cleardevice(); //清屏
}
}
怎么让pictureBox.Paint += new PaintEventHandler(this.pictureBox_Paint);执行后使picturebox的背景还原
Graphics g = Graphics.FromImage(pictureBox1.Image);
这个地方改成
Graphics g = e.Graphics;//不用创建,参数里有
g.clear(Color.Black);//使用黑色背景
如果还有其他问题,可以参考我空间里的几个小游戏,里面有介绍
谁能提供一个24小时制的flash时钟源码
题外说句,老师几乎每届都能看到钟的代码,几乎一看见钟的flash就会减分的,就算你把钟调成转一圈25小时的,老师也不会打高分的。
下面是时针转24小时的代码,别忘画个24小时的圆形时钟刻度盘做背景。如果想改成一天转36小时的钟,就用360/36=10,然后把hourHand一句的15改成10就可以啦,当然别忘记画36小时钟的刻度盘……汗
24小时时钟的代码(时针是24进制的,分针,秒针都是60进制的)
_root.onEnterFrame = function() {
myDate = new Date();
hourHand._rotation = myDate.getHours()*15+(myDate.getMinutes()/2);
minuteHand._rotation = myDate.getMinutes()*6+(myDate.getSeconds()/10);
secondHand._rotation = myDate.getSeconds()*6;
};
需要注意的是除了画背景圆形钟的刻度盘,还要画时针,分针,秒针这三个影片剪辑元件,并且把针尾旋转点对准舞台中心否则会转偏。大小写不许错,把时针剪辑的实例名称写成hourHand,分针实例名称minuteHand,秒针实例名称secondHand
圆形时钟代码库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于时钟程序代码、圆形时钟代码库的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:手机号码代码(手机号码靓号)
- 下一篇:奇迹首页源代码下载(奇迹小说下载官方)
相关推荐
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
- 05-06点击弹出密码代码(点击弹出密码代码错误)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接