C#启程—游戏开发笔记

ide

Rider

ide我们选择Rider
为何不选vs?vs占硬盘内存太高了(20多G),而且Rider也是jetbrains的产品,idea用的多了,就非常推荐使用Rider

在这里插入图片描述

下载和安装

下载
Rider

安装使用我就不再废话了,自己去网上找吧,我用的微信公众号“IT码徒”

创建C#基础工程(包含form)

不要用Framework工程,因为不能安装新的nuget包,他是框架工程,应该是只能使用自己私有的包

在这里插入图片描述

在这里插入图片描述

写代码的话自己新建一个类
在这里插入图片描述

Rider去除语法警告

setting
code style
c#

在这里插入图片描述

C#笔记

namespace

请添加图片描述

请添加图片描述

找不到某个class(命名空间)

遇到问题

在这里插入图片描述

解决方案
alt+enter,选择nuget即可,Rider会联网下载此类包

在这里插入图片描述

在这里插入图片描述

安装成功

在这里插入图片描述

c#相对路径(比较特别)

我们需要得到c#得工作路径后,计算相对路径,然后获得相对路径的文件

示例代码

        // 获得工作路径
        // string s = System.Environment.CurrentDirectory;
        // 值为D:\Study\GitCode\c-sharp_programe_games\Development_Plane_Games\bin\Debug\net7.0-windows
        
        // 注意相对路径
        Bitmap bitmap = new Bitmap("../resource/20170804112846536.png");

路径演示

在这里插入图片描述

双缓存技术

在这里插入图片描述
在这里插入图片描述

源码展示

    private void Draw(int x,int y)
    {   
        // 每次重画图片,刷新一次pictureBox对象,考虑到帧数问题,我们要使用双缓存技术
        // pictureBox.Refresh();
        
        // 获得工作路径
        // string s = System.Environment.CurrentDirectory;
        // 值为D:\Study\GitCode\c-sharp_programe_games\Development_Plane_Games\bin\Debug\net7.0-windows
        
        // 注意相对路径
        Bitmap bitmap = new Bitmap("../resource/img/role/bairen.png");
        bitmap.SetResolution(300,300);
        //创建在pictureBox上的图像graphics
        Graphics graphics = pictureBox.CreateGraphics();
        
        //将图像画在内存上,并使graphics为pictureBox上的图像
        BufferedGraphicsContext currentContent = BufferedGraphicsManager.Current;
        BufferedGraphics myBuffer = currentContent.Allocate(graphics,this.DisplayRectangle);
        Graphics graphicsChangs = myBuffer.Graphics;

        //这里位置我们用当前窗体的变量
        // graphics.DrawImage(bitmap, x, y);
        graphicsChangs.DrawImage(bitmap, x, y);
        
        //显示图片并释放资源
        myBuffer.Render();
        myBuffer.Dispose();
    }

窗体事件绑定

窗体初始属性

在这里插入图片描述

方法生成

在这里插入图片描述

然后里面就可以写业务了

在这里插入图片描述

调式绑定事件成功

在这里插入图片描述

窗体中调试功能实现

说明

需要为单个窗体关联一个控制台

实例代码

using System.Runtime.InteropServices;
public partial class Form1 : Form
{
    //实现控制台调试功能
    [DllImport("kernel32.dll")]
    public static extern bool AllocConsole();
    
    public Form1()
    {
        AllocConsole(); //关联一个控制台窗口用于显示信息
        
        //初始化窗体基本信息
        InitializeComponent();
    }
}

正常使用

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值