C#网游客户端
- 一、项目创建以及页面设置
- (一)新建项目
- (二)界面设计
- 二、连接服务器
- 三、客户端向服务器发送数据
- 四、播放背景音乐
- 五、切换游戏背景图片
- 六、总结
- 七、参考资料
一、项目创建以及页面设置
(一)新建项目
1.创建新项目控制台应用(.NET Framework)-
>下一步
2.选择合适的存储位置命名,点击创建
(二)界面设计
1.总的页面
2.图片PictureBox
设置
(1)Imge
背景设置
从本地导入图片
(2)SizeMode选择StrechImage,会把PictureBox图片框铺满,自适应图片框的大小。
二、连接服务器
1.在Form
中初始化进入游戏:
private NetworkStream stream;
private TcpClient tcpClient = new TcpClient();
public Form1()
{InitializeComponent();try{//向指定的IP地址的服务器发出连接请求tcpClient.Connect("10.1.230.74", 3900);listBox1.Items.Add("连接成功!");stream = tcpClient.GetStream();byte[] data = new byte[1024];//判断网络流是否可读 if (stream.CanRead){int len = stream.Read(data, 0, data.Length);//Encoding ToEncoding = Encoding.GetEncoding("UTF-8");//Encoding FromEncoding = Encoding.GetEncoding("GB2312");//data=Encoding.Convert(FromEncoding, ToEncoding, data);//string msg = Encoding.UTF8.GetString(data, 0, data.Length);string msg = Encoding.Default.GetString(data, 0, data.Length);string str = "\r\n";char[] str1 = str.ToCharArray();string[] msg1 = msg.Split(str1);for (int j = 0; j < msg1.Length; j++){listBox1.Items.Add(msg1[j]);}}}catch{listBox1.Items.Add("服务器未启动!");}
}
2.运行结果
三、客户端向服务器发送数据
1.双击button12
2.在Form1.cs
加入代码
private void button12_Click(object sender, EventArgs e){//判断连接是否断开if (tcpClient.Connected){//向服务器发送数据string msg = textBox1.Text;Byte[] outbytes = System.Text.Encoding.Default.GetBytes(msg + "\n");stream.Write(outbytes, 0, outbytes.Length);byte[] data = new byte[1024];//接收服务器回复数据if (stream.CanRead){int len = stream.Read(data, 0, data.Length);string msg1 = Encoding.Default.GetString(data, 0, data.Length);string str = "\r\n";char[] str1 = str.ToCharArray();string[] msg2 = msg1.Split(str1);for (int j = 0; j < msg2.Length; j++){listBox1.Items.Add(msg2[j]);}}}else{listBox1.Items.Add("连接已断开");}}
3.运行结果
四、播放背景音乐
1.设置音乐按钮如下,一个Lable和两个Button
2.添加WindowsMediaPlayer控件,工具箱
->常规右键-
>选择项
3.勾选COM组件
中的Windows Media Player
4.添加成功如下
5.双击Button13(播放键)
设置代码.如下
private void button13_Click(object sender, EventArgs e){string s = @"C:\Users\86199\Music\xz\Something just like this.mp3";axWindowsMediaPlayer1.URL = s;}private void button14_Click(object sender, EventArgs e){//用于暂停正在播放的背景音乐axWindowsMediaPlayer1.Ctlcontrols.pause();}
五、切换游戏背景图片
1.添加Timer组件
2.Timer
的属性Enable
设置True
3.添加代码如下
int flag = 0;private void timer1_Tick(object sender, EventArgs e){flag++;string picturePath = @"F:\game\pictures\" + flag + ".jpg";pictureBox1.Image = Image.FromFile(picturePath);if (flag ==3){flag = 0;}}
4.运行结果
六、总结
本次实验用到C#编写客户端网游,过程中学习到了一些基本组件的方法,了解了他们的属性,客户端网游感觉更多的是界面的设计。
七、参考资料
编写一个网游客户端
C#编写网游客户端