C#启程—游戏开发笔记

news2025/1/16 18:53:27

文章目录

  • ide
    • Rider
    • 下载和安装
    • 创建C#基础工程(包含form)
    • Rider去除语法警告
  • C#笔记
    • namespace
    • 找不到某个class(命名空间)
    • 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();
    }
}

正常使用

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

再探Vue3响应式系统

欲看懂这一篇还是建议先看上一篇,这一篇我们继续往下走 一、嵌套问题 🖖先看背景 在这段代码里面,question1里面嵌套了question2,所以question1的执行会导致question2的执行 let temp1 ,temp2; function question1() {console.…

基于java+springmvc+mybatis+vue+mysql的电子资源管理系统

项目介绍 随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的,在人们的工作生活中,也就…

AI加速自动驾驶进程,景联文科技提供数据采集标注服务

“当前,路面上搭载各级别自动驾驶系统的车辆数量逐渐增多。对自动驾驶领域头部企业来说,为了保持自身的竞争优势并加速自动驾驶应用安全落地进程,需要依靠大量的高质量标注数据来训练优化自动驾驶相关算法模型。数据作为AI技术的底层基础&…

备战2023蓝桥国赛-饼干

题目描述: 解析: 这道题我想了很多种解决方法,但无一例外都失败了,实在是按照常规线性DP的思路真的想不出来。 看了题解之后才知道它是分为三步解决这个问题的: 第一步:缩小最优解的范围 先用贪心将最优解…

如何准备好2023年的USACO?

目录 1. 注册 2. 刷题 3. 备考 4. 考试流程/介绍 5. 铜组例题 1. 注册 先进入usaco的官网,主页的右边会有注册的选项,点击Register for New Account。会让你填你自己的用户名,邮箱,实名,毕业的年份,还…

世界杯数据分析

国际足联世界杯(FIFA World Cup) 文章目录前言一、历届世界杯数据分析(一)建表(二)导入数据(三)数据分析1. 全勤巴西2. 夺冠排名3. 扩军历史4. 进球之最二、本届世界杯数据分析&…

【Java寒假打卡】Java基础-数据类型以及转换

【Java寒假打卡】Java基础-数据类型以及转换一、关键字二、强制转换三、常量四、隐式转换的问题五、变量六、程序输入七、标识符八、类型转换一、关键字 含义:java 中被赋予特定含义和特点的单词 二、强制转换 数据范围大变量赋给一个数据范围小的变量int 到byte…

android绘制弧形背景

先看一下效果&#xff1a; 在drawable中写shape.xml文件 <?xml version"1.0" encoding"utf-8"?> <layer-list xmlns:android"http://schemas.android.com/apk/res/android"><item><shape><solid android:color&quo…

Hadoop学习----Hadoop介绍

Hadoop介绍 Hadoop是Apache软件基金会的一款开源软件。底层是由java语言实现。 功能&#xff1a;允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。 Hadoop核心组件&#xff1a; Hadoop HDFS&#xff08;分布式文件存储系统&#xff09;&#xff1a;解…

大道至简——工具类产品的几个思考方向

因为之前没有接触过摹客的产品&#xff0c;对于一个经常使用Axure的产品经理&#xff0c;仅仅通过两周摹客的使用体验写出的体验文档确实不够严谨&#xff0c;所以以下除了表层的几点用户体验&#xff0c;重点还是谈一下对工具类产品发展方向的思考。 体验篇 一款产品的诞生肯…

4.2 YOLOv3算法

文章目录一、林业病虫害数据集和数据预处理方法介绍1.1 读取AI识虫数据集标注信息1.2 数据读取和预处理1.2.1 数据读取1.2.2 数据预处理**随机改变亮暗、对比度和颜色等****随机填充****随机裁剪****随机缩放****随机翻转****随机打乱真实框排列顺序****图像增广方法汇总**1.2.…

Oracle云服务器安全配置

在Oracle云上申请了一个免费云空间&#xff0c;据说是永久免费&#xff0c;这里记录一下安全配置问题。 一、访问Oracle云服务器 1、云服务器申请 如何在oracle注册申请云服务可自行搜索一下&#xff0c;有很多文章介绍。 甲骨文Oracle云服务器详细申请教程步骤及注意事项 …

如何计算香港服务器公网带宽的实际下载速度?

如何计算香港服务器公网带宽的实际下载速度?下面分享香港服务器带宽实际下载速度对照表及计算方法&#xff1a; 香港服务器带宽实际下载速度计算方法 香港服务器以1Mbps公网带宽为例&#xff0c;香港服务器1M带宽实际下载速度峰值128KB/S&#xff0c;为什么不是1M/S&#xff0…

电脑重装系统后重启电脑黑屏是怎么回事

​电脑重装系统后重启电脑黑屏怎么回事&#xff1f;最近有用户反映自己在重装电脑系统后&#xff0c;开机出现了黑屏的现象&#xff0c;检查后发现硬件设备没有故障&#xff0c;那么是怎么回事呢&#xff1f;有可能是显示器不支持该显卡显示的分辨率或者是重装系统后的显卡驱动…

结构建模设计——Solidworks软件之使用钣金折弯功能做一个带折弯固定口的铝合金面板

【系列专栏】&#xff1a;博主结合工作实践输出的&#xff0c;解决实际问题的专栏&#xff0c;朋友们看过来&#xff01; 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…

31岁才转行程序员,目前34了,我的经历和一些感受

按惯例&#xff0c;先说下我基本情况。我是85年的&#xff0c;计算机专业普通本科毕业。在一个二线城市&#xff0c;毕业后因为自身能力问题、认知水平问题&#xff0c;再加上运气不好&#xff0c;换过多份工作&#xff0c;每份工作都干不长。导致我30多岁时&#xff0c;还一事…

背包问题:蜣螂优化算法(Dung beetle optimizer,DBO)求解背包问题(Knapsack Problem,KP)提供Matlab代码

一、背包问题 1.1背包问题描述 背包问题(Knapsack Problem&#xff0c;KP)是一种重要的组合优化问题&#xff0c;在生活的许多领域都有着十分广泛的应用。背包问题可以描述为&#xff1a;给定一个背包和n种物品&#xff0c;其中&#xff0c;背包的容量为VVV &#xff0c;第i …

C++11标准模板(STL)- 算法(std::min_element)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 返回范围内的最小元素 st…

[附源码]Python计算机毕业设计个人资金账户管理Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

PMP考试有用吗?

有用&#xff0c;对于项目管理岗位来说&#xff0c;PMP 就是一个最基础的必备的证书&#xff0c;你说含金量有多高不见得&#xff0c;但是没有这个证书找工作可能会受阻。 下面这两种情况对 PMP 的需求是硬性要求&#xff0c;很现实&#xff0c;有证才能获得资格&#xff0c;没…