2个回答
2013-06-28
展开全部
基本上你需要添加三个控件
(1)System.Windows.Forms.Form
(2)System.Windows.Forms.Panel
(3)System.Windows.Forms.Timer
当你添加完控件以后,添加以下的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Media;
namespace Bouncing_Ball
{
public partial class Form1 : Form
{
const int SIZE = 25;
int x, y, Delta_x = 3, Delta_y = 3;
SolidBrush brush = new SolidBrush(Color.Yellow);
Rectangle oldBall = new Rectangle(0, 0, 0, 0);
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
rollingArea.Invalidate();
}
private void rollingArea_Paint(object sender, PaintEventArgs e)
{
Graphics g = rollingArea.CreateGraphics();
g.FillRectangle(new SolidBrush(rollingArea.BackColor), oldBall);
if (x > rollingArea.Width - SIZE || x < 0)
{
Delta_x = -Delta_x;
}
if (x < 0)
x = 0;
if (y > rollingArea.Height - SIZE || y < 0)
{
Delta_y = -Delta_y;
}
if (y < 0)
y = 0;
g.FillEllipse(brush, x, y, SIZE, SIZE);
oldBall = new Rectangle(x, y, SIZE, SIZE);
x += Delta_x;
y += Delta_y;
}
}
}
如果顺利完成,那么就可以看到一个黄色的小球在Form内接触到屏幕边缘时 改变方向
我用的是Visual Studio 2005顺利通过测试,如果你需要工程文件,我可以发给你,祝一切顺利。
(1)System.Windows.Forms.Form
(2)System.Windows.Forms.Panel
(3)System.Windows.Forms.Timer
当你添加完控件以后,添加以下的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Media;
namespace Bouncing_Ball
{
public partial class Form1 : Form
{
const int SIZE = 25;
int x, y, Delta_x = 3, Delta_y = 3;
SolidBrush brush = new SolidBrush(Color.Yellow);
Rectangle oldBall = new Rectangle(0, 0, 0, 0);
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
rollingArea.Invalidate();
}
private void rollingArea_Paint(object sender, PaintEventArgs e)
{
Graphics g = rollingArea.CreateGraphics();
g.FillRectangle(new SolidBrush(rollingArea.BackColor), oldBall);
if (x > rollingArea.Width - SIZE || x < 0)
{
Delta_x = -Delta_x;
}
if (x < 0)
x = 0;
if (y > rollingArea.Height - SIZE || y < 0)
{
Delta_y = -Delta_y;
}
if (y < 0)
y = 0;
g.FillEllipse(brush, x, y, SIZE, SIZE);
oldBall = new Rectangle(x, y, SIZE, SIZE);
x += Delta_x;
y += Delta_y;
}
}
}
如果顺利完成,那么就可以看到一个黄色的小球在Form内接触到屏幕边缘时 改变方向
我用的是Visual Studio 2005顺利通过测试,如果你需要工程文件,我可以发给你,祝一切顺利。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-28
展开全部
有空没?晚上有空的话我可以给你做个 呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询