C# 簡単なシューティング 自機移動について
かなりの初心者で困っています。
簡単なシューティングを作ろうとおもっています。
使用ソフトはVisualC#2005です。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//自機(右移動)
private void button3_Click(object sender, EventArgs e)
{
if (timer1.Enabled == false)
{
timer2.Enabled = false;
timer1.Enabled = true;
}
else
{
timer1.Enabled = false;
timer3.Enabled = false;
timer4.Enabled = false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
pictureBox1.Left = pictureBox1.Left + 2;
}
//自機(左)
private void button4_Click(object sender, EventArgs e)
{
if (timer2.Enabled == false)
{
timer1.Enabled = false;
timer2.Enabled = true;
}
else
{
timer2.Enabled = false;
timer3.Enabled = false;
timer4.Enabled = false;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
pictureBox1.Left = pictureBox1.Left - 2;
}
//自機(上)
private void button1_Click(object sender, EventArgs e)
{
if (timer3.Enabled == false)
{
timer4.Enabled = false;
timer3.Enabled = true;
}
else
{
timer1.Enabled = false;
timer2.Enabled = false;
timer3.Enabled = false;
}
}
private void timer3_Tick(object sender, EventArgs e)
{
pictureBox1.Top = pictureBox1.Top - 2;
}
//自機(下)
private void button2_Click(object sender, EventArgs e)
{
if (timer4.Enabled == false)
{
timer3.Enabled = false;
timer4.Enabled = true;
}
else
{
timer1.Enabled = false;
timer2.Enabled = false;
timer4.Enabled = false;
}
}
private void timer4_Tick(object sender, EventArgs e)
{
pictureBox1.Top = pictureBox1.Top + 2;
}
}
}
自機は画像(PictureBox)でボタンによって上下左右に移動します。
FormのSizeは800,630です。
自機の移動がボタンなのでキー入力によって操作できるようにしたいのですが、
それと、自機の移動範囲を画面からでないようにしたいです。
あまりC#を理解できてない上でつくったのでおかしな点が多々あると思います。
教えていただける方がいると助かります。
お礼
テストしてみましたが、MSCOMM1=Nothingはコンパイルでエラーが起こります。不正なプロパティとか…云々。 でもたぶん貴殿のおっしゃる通りのことだと思います。 これからよく調べてみます。(といっても納期は過ぎてしまいましたが・・・他のハードが揃ってないことを言い訳にしてがんばってみます)