使用c#写一段点击鼠标人物移动的代码
2024-09-21
29
以下是一个简单的示例,演示如何使用C#编写点击鼠标移动人物的基本代码。这只是一个基础示例,实际游戏中可能需要更复杂的逻辑和输入处理。
using System;
using System.Windows.Forms;
namespace MouseClickMovement
{
public partial class MainForm : Form
{
private int playerX;
private int playerY;
public MainForm()
{
InitializeComponent();
playerX = 100; // 初始人物X坐标
playerY = 100; // 初始人物Y坐标
}
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
// 当鼠标点击时,移动人物到点击的位置
playerX = e.X;
playerY = e.Y;
// 重绘界面以更新人物位置
Invalidate();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 绘制人物(这里使用简单的矩形表示)
e.Graphics.FillRectangle(System.Drawing.Brushes.Blue, playerX, playerY, 20, 20);
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}
在这个示例中,我们创建了一个简单的WinForms应用程序。当鼠标点击窗口时,人物的位置会更新到鼠标点击的位置,然后我们通过重绘来显示人物的移动。在实际的游戏中,你需要更复杂的逻辑来处理人物的移动、寻路、碰撞检测等。
更新于:3个月前赞一波!
相关文章
- C#13新特性 使用System.Threading.Lock简化线程同步
- .NET C# 读取编辑.AVIF图片文件
- .NET C# SkiaSharp读取.AVIF图片文件报错
- .NET C# EntityFramework(EF)连接SQLite代码示例
- .NET9 C# 13 有哪些新特性?
- C#中的String和StringBuilder的区别
- .NET C#中的IEnumerable和IEnumerator的区别
- C# Const 和 ReadOnly的区别
- C# 使用Barrier进行多线程同步
- C#发送邮件代码简洁示例(附源码下载)
- C# Word转换成Pdf的方法
- c#使用MongoDB开发LBS应用
- hprose for C#使用教程
- c#实现与Java无差异的GZip压缩和GZip解压缩
- .NET Core c#使用SkiaSharp压缩裁切图片去除水印
- c# decimal保留2位小数 并向下舍入
- .NET Core c#使用SkiaSharp压缩图片
- C#复制文件到指定文件夹
- c#获取枚举的Description
- c#读取pdf里的表格
文章评论
评论问答