Object collision

image_pdfimage_print

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class Form1 : System.Windows.Forms.Form {
private int dx = 4;
private System.Windows.Forms.PictureBox picTarget;
private System.Windows.Forms.PictureBox picBall;
private System.Windows.Forms.Timer timer1;

public Form1() {
InitializeComponent();
}
private void InitializeComponent() {
this.picTarget = new System.Windows.Forms.PictureBox();
this.picBall = new System.Windows.Forms.PictureBox();
this.timer1 = new System.Windows.Forms.Timer(new System.ComponentModel.Container());
this.SuspendLayout();

this.picTarget.BackColor = Color.Red;
this.picTarget.Location = new System.Drawing.Point(160, 240);
this.picTarget.Name = “picTarget”;
this.picTarget.Size = new System.Drawing.Size(56, 56);
this.picTarget.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.picTarget.TabIndex = 0;
this.picTarget.TabStop = false;

this.picBall.Image = new Bitmap(“winter.jpg”);
this.picBall.Location = new System.Drawing.Point(24, 136);
this.picBall.Name = “picBall”;
this.picBall.Size = new System.Drawing.Size(32, 32);
this.picBall.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.picBall.TabIndex = 1;
this.picBall.TabStop = false;

this.timer1.Enabled = true;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(392, 341);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.picBall,
this.picTarget});
this.Name = “Form1”;
this.Text = “Crasher”;
this.ResumeLayout(false);

}
[STAThread]
static void Main() {
Application.Run(new Form1());
}

private void timer1_Tick(object sender, System.EventArgs e) {
int newX, newY;
newX = picBall.Location.X + dx;
newY = picBall.Location.Y + dx;

if (newX > this.Width – picBall.Width){
dx = – dx;
}

if (newX < 0){ dx = - dx; } if (picBall.Bounds.IntersectsWith(picTarget.Bounds)){ this.BackColor = Color.Black; } else { this.BackColor = Color.White; } picBall.Location = new Point(newX, newY); } } [/csharp]

This entry was posted in 2D Graphics. Bookmark the permalink.