0
好吧我已經使用c#之前,但在asap.net數據庫和建築形式和數據驅動的網站。我現在正在學習如何在動畫或遊戲中使用它。移動對象在不同的座標位置和速度
我仍在試驗,並試圖去掌握它,所以忍受着我。
所以,我有兩個對象(Ball
& Target
),它們在當我點擊一個按鈕,Windows應用程序移動(我用的時間設置爲false並單擊開始)。
當兩個物體在每個超空間中通過時,背景會改變顏色。問題是我想讓Target
從左到右而不是一個角落移動到另一個角落。
有人可以告訴我如何用我現有的代碼做到這一點,謝謝。
代碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int ballspeed;
int targetspeed;
public Form1()
{
InitializeComponent();
ballspeed = 4;
targetspeed = 2;
}
private void timer1_Tick(object sender, EventArgs e)
{
int newX, newY, newA, newB;
newX = Ball.Location.X + ballspeed;
newY = Ball.Location.Y + ballspeed;
newA = Target.Location.X + targetspeed;
newB = Target.Location.Y + targetspeed;
if (newX > this.Width - Ball.Width)
{
ballspeed = -ballspeed;
}
if (newX < 0)
{
ballspeed = -ballspeed;
}
if (Ball.Bounds.IntersectsWith(Target.Bounds))
{
this.BackColor = Color.Black;
}
else
{
this.BackColor = Color.White;
}
Ball.Location = new Point(newX, newY);
if (newA > this.Width - Target.Width)
{
targetspeed = -targetspeed;
}
if (newA < 0)
{
targetspeed = -targetspeed;
}
Target.Location = new Point(newA, newB);
}
private void button1_Click(object sender, EventArgs e)
{
this.timer1.Start();
}
}
}
謝謝你的解釋,而不是僅僅回答+1。我會放棄並接受你的答案。 – Beep