level 11
Class gameEngine
Public Function CreateSprite(x,y,width,height,name,imageSrc) '创建精灵 横坐标 纵坐标 宽度 高度 名称 图源
Dim obj
Set obj=document.createElement("DIV")
obj.id = name
obj.style.position = "absolute"
obj.style.left = x
obj.style.top = y
obj.style.width = width
obj.style.height = height
obj.style.background = "url(" & imageSrc & ")"
game.appendChild(obj)
Set CreateSprite = obj
Set obj = Nothing
End Function
Public Function CreateText(x,y,name,content,fontSize,color)'创建文本 横坐标 纵坐标 名称 内容 字体大小 前景色
Dim obj
Set obj=document.createElement("span")
obj.id = name
obj.style.position = "absolute"
obj.style.left = x
obj.style.top = y
obj.innerText = content
obj.style.color = color
obj.style.fontSize = fontSize
game.appendChild(obj)'document.body.appendChild(obj)
Set CreateText = obj
Set obj = Nothing
End Function
Public Function CreateButton(x,y,name,caption)'创建按钮 横坐标 纵坐标 名称 标题
Dim obj
Set obj=document.createElement("button")
obj.id = name
obj.style.position = "absolute"
obj.style.left = x
obj.style.top = y
obj.value = caption
game.appendChild(obj)
Set CreateButton = obj
Set obj = Nothing
End Function
Public Function destroy(obj)'销毁对象
game.removeChild(obj)
Set obj = Nothing
Set destroy = obj
End function
Public Function Collide(obj1, obj2)'游戏中逻辑的碰撞检测
If obj1.offsetLeft + obj1.offsetWidth > _
obj2.offsetLeft And obj1.offsetLeft < obj2.offsetLeft + obj2.offsetWidth _
And obj1.offsetTop + obj1.offsetHeight > obj2.offsetTop _
And obj1.offsetTop < obj2.offsetTop + obj2.offsetHeight Then
Collide = True
Else
Collide = False
End If
End Function
Public Sub Move(obj,speedX,speedY)'移动行为
obj.style.left = obj.offsetLeft + speedX
obj.style.top = obj.offsetTop + speedY
End Sub
Public Sub Bullet(obj,Dx,speed)'子弹行为 需要一开关 和一个 定时器 自动发射 越界自毁(okay)
Dim speedX,speedY
speedX = 0
speedY = 0
Select Case Dx
Case "right"'right
speedX = speed
Case "down"'down
speedY = speed
Case "left"'left
speedX = -speed
Case "up"'up
speedY = - speed
Case Else
Exit Sub
End Select
If obj.offsetLeft >= game.offsetWidth Or _
obj.offsetTop >= game.offsetHeight Or _
obj.offsetLeft + obj.offsetWidth <= 0 Or _
obj.offsetTop + obj.offsetHeight <= 0 Then
Set obj = destroy(obj)
Else
Move obj,speedX,speedY
End If
End Sub
End Class


