【发布时间】:2012-12-04 18:01:58
【问题描述】:
我有一个四连冠冠军赛。有没有一种方法可以以动画方式显示文本?我的意思是,在每轮显示第 1 轮之后,屏幕上写着。第 1 轮结束后显示第 2 轮。
我的意思是不是以标签的形式显示文本,而是像在线游戏中显示的文本只是出现在屏幕上并在几秒钟后消失..不知道这是否可能!
【问题讨论】:
我有一个四连冠冠军赛。有没有一种方法可以以动画方式显示文本?我的意思是,在每轮显示第 1 轮之后,屏幕上写着。第 1 轮结束后显示第 2 轮。
我的意思是不是以标签的形式显示文本,而是像在线游戏中显示的文本只是出现在屏幕上并在几秒钟后消失..不知道这是否可能!
【问题讨论】:
你需要在游戏获胜时通过获取表单Graphics对象手动在表单上绘制。
Graphics g = this.CreateGraphics();
g.DrawString("Game Won!", DefaultFont, Brushes.Red, x,y);
这是上下文中的表单,x,y 是绘制文本的坐标
当然,正如其他人所提到的,您必须做一个计时器来更改 x、y 或其他属性,例如每个动画帧的字体大小。您需要在单独的线程上执行此操作并双缓冲结果
【讨论】:
我不知道您所说的动画到底是什么意思,但一般来说,您可以创建一个计时器,以您希望的动画方式“动画化”您的文本,例如每 20 毫秒左右。因此,例如,如果您只想将文本从右向左移动,您可以在计时器经过的处理程序中设置 myText.X += 5 或类似的东西。
【讨论】:
myLabel.Visible = false。