求VB高手帮忙做一道VB题,关乎在下生死,求好心人帮忙! 做一个坦克,可以上下左右自由移动,并且可以发射

坦克大战:小圆圈(炮弹)(pd)红色居于Tk中心shape1圆边正方形(坦克大身体)(st)绿色shape2小正方形(居于st中)(pt)蓝色shape3小圆棒(炮筒)(... 坦克大战:小圆圈(炮弹)(pd) 红色 居于Tk中心 shape1
圆边正方形(坦克大身体)(st) 绿色 shape2
小正方形(居于st中)(pt) 蓝色 shape3
小圆棒(炮筒)(pg) 黑色 shape4
timer 20
展开
 我来答
start1902
2012-12-16 · TA获得超过261个赞
知道小有建树答主
回答量:183
采纳率:100%
帮助的人:90.5万
展开全部

是这个样子吧,等有时间帮你写吧,确实挺麻烦的



追问
方向键直接用键盘上的,还有个Timer
追答
虽然没时间写,但给你点提示吧

1、这是按键事件:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 38 Then
..............
End Sub
KeyCode = 38 是向上的箭头

2、炮弹用circle函数【Circle(x,y),半径,color】配合timer,

3、炮筒用四个sub,先判断炮筒现在的朝向,例如按下向下键,(Tx/Ty是坦克内圈的坐标,x、y是炮筒坐标,r为坦克内圈的半径),

Public Sub Tdown(ByRef x As Single, ByRef y As Single)
Dim a As Single
Dim b As Single
a = Form1.Shape3.Height
b = Form1.Shape3.Width
If a > b Then
If y > Ty Then
y = y + 10
Else
y = y + 1 + 2 * r + a
End If
Else
If x < Tx Then
x = x + a + r - 0.5 * b
y = y + 1 + 0.5 * b + r
Else
x = x - r - 0.5 * b
y = y + 0.5 * a + r
End If
Form1.Shape3.Width = 255
Form1.Shape3.Height = 855
End If
End Sub

这是炮筒向下的代码,其他方向的大同小异

37 LEFT ARROW 键
38 UP ARROW 键
39 RIGHT ARROW 键
40 DOWN ARROW 键

希望我的回答对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
money0_04c351c2
2012-12-16 · TA获得超过4142个赞
知道大有可为答主
回答量:5505
采纳率:49%
帮助的人:1600万
展开全部
哎…… 准备后事吧~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
owowe4
2012-12-17 · TA获得超过135个赞
知道小有建树答主
回答量:178
采纳率:50%
帮助的人:55.6万
展开全部
看邮箱
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式