求VB程序设计,有一段雪花飘扬的代码,求添加代码让用户选择往左飘或者往右飘,还有飘雪速度代码。

求VB程序设计,有一段雪花飘扬的代码,求添加代码让用户选择往左飘或者往右飘,还有飘雪速度代码。,第1张

Private sub form1_load(省行信败陵略)

Dim i As Integer

For i=0 To 99

Randomize()

s(i)=New snowflakes(Rnd()*Me.width,Rnd()*Me.Height)

Next

End Sub

Private sub timer1_tick(省略)

Me.Refresh()

pen1=New pen(color.white,5)

g=Me.CreateGraphics

For i=0 to 99

g.DrawEllipse(pen1,s(i).x,s(i).y,1,1)

s(i).down(10)

If s(i).x>档枯轮=Me.width Then

s(i).x=Rnd()*20

End If

If s(i).y>=Me.Height Then

s(i).y=Rnd()*10

End If

在后台添加js特效可实现这样的效果。

js代码为:

<script language="JavaScript">

<!--

var no = 5//雪片数目

var speed = 20//飘动速度。(值越大越慢)

var ns4up = (document.layers) ? 1 : 0//当前浏览器类型,如果是NS则为1

var ie4up = (document.all) ? 1 : 0//当前浏览器则谨类型,如果是IE则为1

var s, x, y, sn, cs

var a, r, cx, cy

var i, doc_width = 800, doc_height = 600

x = new Array()

y = new Array()

r = new Array()

cx = new Array()

cy = new Array()

s = 8//每次下落的高度,越小越平滑,但是也越慢

if (ns4up) { //以NS兼容方式

doc_width = self.innerWidth//取页面宽度

doc_height = self.innerHeight//取页面高度

}

else

if (ie4up) { //以IE兼容方式

doc_width = document.body.clientWidth//取页面宽度

doc_height = document.body.clientHeight//取孙乎基页面高度

}

for (i = 0i <no++ i) { //根据前面定顷迟义的雪片数目写进相应数目的层

initSnow()//随机初始化层的坐标

if (ns4up) { //如果浏览器是NS

//用layer作为雪片(星号)的容器

document.write("<layer name=\"dot"+ i +"\" left=\"1\" ")

document.write("top=\"1\" visibility=\"show\"><font color=\"red\">")

document.write("*</font></layer>")

}

else

if (ie4up) { //如果浏览器是IE

//用div作为雪片的容器

document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ")

document.write("absoluteZ-INDEX: "+ i +"VISIBILITY: ")

document.write("visibleTOP: 15pxLEFT: 15px\"><font color=\"red\">")

document.write("*</font></div>")

}

}

//初始化雪片,生成随机坐标

function initSnow() {

a = 6

r[i] = 1

sn = Math.sin(a)

cs = Math.cos(a)

cx[i] = Math.random() * doc_width + 1

cy[i] = Math.random() * doc_height + 1

x[i] = r[i] * sn + cx[i]

y[i] = cy[i]

}

//计算雪花位置,从新位置上出现,看起来就像是新产生的一样。

function makeSnow() {

r[i] = 1

cx[i] = Math.random() * doc_width + 1

cy[i] = 1

x[i] = r[i] * sn + cx[i]

y[i] = r[i] * cs + cy[i]

}

//雪花下落的计算

function updateSnow() {

r[i] += s

x[i] = r[i] * sn + cx[i]

y[i] = r[i] * cs + cy[i]

}

//在NS浏览器上处理雪片下落的主程序

function SnowdropNS() {

for (i = 0i <no++ i) { //依次处理每片雪花

updateSnow()//下落

if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) { //如果超出屏幕范围

makeSnow()//则调整雪片到新位置上

doc_width = self.innerWidth//更新页面宽度数据

doc_height = self.innerHeight//更新页面高度数据

}

document.layers["dot"+i].top = y[i]//改变层的Y坐标,应用新的位置

document.layers["dot"+i].left = x[i]//改变层的X坐标,应用新的位置

}

setTimeout("SnowdropNS()", speed)

}

//在IE浏览器上处理雪片下落的主程序

function SnowdropIE() {

for (i = 0i <no++ i) { //依次处理每片雪花

updateSnow()//下落

if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) { //如果超出屏幕范围

makeSnow()//则调整雪片到新位置上

doc_width = document.body.clientWidth//更新页面宽度数据

doc_height = document.body.clientHeight//更新页面高度数据

}

document.all["dot"+i].style.pixelTop = y[i]//改变层的坐标,应用新的位置

document.all["dot"+i].style.pixelLeft = x[i]

}

setTimeout("SnowdropIE()", speed)//准备下一次下落过程。

}

if (ns4up) { //如果是NS

SnowdropNS()//调用SnowdropNS使雪片下落

}

else

if (ie4up) { //如果是NS

SnowdropIE()//调用SnowdropIE使雪片下落

}

-->

</script>

说明:可以根据自己的需求根据说明进行相应参数的修改


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8263761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存