在Python2中,str.format()函数可以使用一些高级的格式化选项,下面是一些常用的高级用法: 1.格式化数字 可以使用格式化选项来控制数字的显示方式,例如: 将数字格式化为带千位分隔符的字符串 n=1234567 s="{:,}".format(n) print(s)输出:1,234,567 将数字格式化为指定位数的字符串,不足位数用0填充 n=42 s="{:0>4}".format(n) print(s)输出:0042 2.格式化日期和时间 可以使用格式化选项来控制日期和时间的显示方式,例如: importdatetime 将日期格式化为指定格式的字符串 d=dat...

  vWa2lMmTbsfJ   2024年04月01日   19   0   0 Python

c中的面向对象 构造函数 与C一样,可以拥有多个构造函数,但python只有一个构造函数 默认的无参构造函数,可以这样写classname()=default; 构造函数时初始化变量,建议这样写。对于const或自定义类型必须这样写,而对于内置类型几乎是一样的。 MyClass::MyClass(stringname,intid): name(name), id_(id) { Player::init(); } C中类的构造函数,成员变量是在初始化列表初始化还是在函数体中进行赋值?知乎(zhihu.com) 函数的声明 成员函数的声明可以写在类的外面,只需要加上classname::x...

  vWa2lMmTbsfJ   2024年02月29日   54   0   0 C++

OBJ文件格式是一种常见的3D模型文件格式,它包含了模型的几何形状、材质、纹理等信息。下面是OBJ文件格式的一些基本信息: OBJ文件由一系列文本行组成,每行以一个关键字开头,关键字后面跟着一些参数。OBJ文件中最常见的关键字有以下几个: v:定义一个顶点,后面跟着该顶点的x、y、z坐标。 vn:定义一个法向量,后面跟着该法向量的x、y、z分量。 vt:定义一个纹理坐标,后面跟着该纹理坐标的u、v分量。 f:定义一个面,后面跟着该面的顶点、法向量、纹理坐标等信息。 OBJ文件中还可以包含一些其他的关键字,如mtllib、usemtl等,用于定义材质信息。 下面是一个简单的OBJ文件的示例:...

  vWa2lMmTbsfJ   2024年02月29日   24   0   0 游戏开发

指针和引用 当我们需要在程序中传递变量的地址时,可以使用指针或引用。它们都可以用来间接访问变量,但它们之间有一些重要的区别。 指针是一个变量,它存储另一个变量的地址。通过指针,我们可以访问存储在该地址中的变量。指针可以被重新分配,可以指向不同的变量,也可以为NULL。指针使用运算符来访问存储在地址中的值。 引用是一个别名,它为一个已经存在的变量提供了另一个名称。引用不能被重新分配,一旦引用被初始化,它将一直引用同一个变量。引用使用&运算符来声明和访问。 下面是一个简单的例子,演示了指针和引用的区别: include"stdafx.h" include<iostream> u...

  vWa2lMmTbsfJ   2024年02月27日   43   0   0 C++

windbg下载有两种方式: InstallWinDbgWindowsdrivers|MicrosoftLearn 从微软应用商店下载 dump上的windows的局部变量解析部分进行windbg本地解析查看 下载对应crash链接中的dmp(即minidump)、pdb、exe文件至本地 打开winDbg工具,进行配置 配路径:Settings——>Debuggingsettings——>Sourcepath配置引擎的代码目录 配路径:Settings——>Debuggingsettings——>Defaultsymbolpath文本框配置symbolpath,...

  vWa2lMmTbsfJ   2024年02月19日   77   0   0 游戏开发

python中的metaclass可谓熟悉而又陌生,自己开发时很少用,阅读源码时却经常遇到,那么到底什么是metaclass呢?何时使用metaclass呢? 动态创建class的方法 假设我们需要动态创建一个class,那么一般我们有这样几种方法 通过一个函数动态创建class 通过type动态创建class 1.函数动态创建class defcreate_class_by_name(name): ifname'dog': classDog(object): pass returnDog else: classCat(object): pass returnCat dy_class=c...

  vWa2lMmTbsfJ   2024年01月08日   15   0   0 Python

前言 使用ffmpeg编译好的程序在电脑上进行音视频转换,可以参考这篇:《windows电脑FFmpeg安装教程手把手详解_windows安装ffmpeg》,而我们要做的是在游戏引擎中集成ffmpeg源码用来录制游戏视频。 我们游戏目前只支持录制avi格式的视频,但是近期有个运营需求:在上架商品的时候在游戏内录制一段视频提供给网页端进行播放。 首先简单的了解了一下,ffmpeg是支持录制mp4格式的,于是简短地改了几行代码就实现了录制mp4,然后把录制出来的视频发给网页同学部署测试。 第二天收到反馈我们录制的视频无法在网页上播放,由于我也是第一次接触ffmpeg,不知道为什么mp4无法在浏览器...

  vWa2lMmTbsfJ   2024年01月08日   14   0   0 游戏开发

python的可变参数 方法定义 args是可以传list类型的可变参数,kwargs是可以传dict的可变参数 defwrapper(args,kwargs): 使用示例 deffoo(args,kwargs): print'args=',args print'kwargs=',kwargs print'---------------------------------------' if__name__'__main__': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4,a=1,b=2,c=3) foo('a',1,None,a=1,b='2',c...

  vWa2lMmTbsfJ   2023年11月17日   19   0   0 Python

说明:这篇文章写的比较早了,大概是2021年上半年写的,一直放在草稿箱,目前这些方法是否被屏蔽有待验证。 AppStore审核机制 机器审核 人工审核 人工审核大概是玩15分钟的样子,同时有上百审核人员玩不同的游戏包,有时候靠运气不被同一个人玩到 AppStore审核指南 checklist 代码层面:对文件名,方法名进行修改 Resources目录添加无用和不同的shader 服务器ip,域名不要重复 资源方面:不同包使用不同的图集,图集添加后缀 level名字不要一样 闪屏,sdk图片的md5不要一样 屏蔽打印,别让抓到一样的日志 图标检查有没有带透明通道 使用不同的打包机,不同的证书...

  vWa2lMmTbsfJ   2023年11月17日   20   0   0 游戏开发

游戏内动画的实现方式一般有这几种: 骨骼动画 顶点动画 材质动画 CPU蒙皮动画 骨骼动画 骨骼动画是一种基于骨骼系统的动画技术,它通过对骨骼进行变换来控制模型的姿态和动作。 在骨骼动画中,模型通常被分解成多个部分,每个部分都与一个或多个骨骼相连,通过对骨骼进行旋转、平移、缩放等变换,可以控制模型的姿态和动作。 骨骼动画的优点是可以实现复杂的动态效果,如人物的行走、奔跑、跳跃等。 游戏内的树的飘动,也通过骨骼动画来实现,一颗树的骨骼如下: 材质中的蒙皮数量共7个 顶点动画 顶点动画是一种基于顶点的动画技术,它通过对模型的顶点进行变换来实现动态效果。在顶点动画中,每个顶点都可以被单独控制...

  vWa2lMmTbsfJ   2023年11月12日   25   0   0 游戏开发

市面上的AI写代码 GitHub+OpenAI出品的Copilot:https://copilot.github.com/ Tabnie:CodeFasterwithAICodeCompletions|Tabnine Kite:https://github.com/kiteco,2022.11.16已停止服务 MachineLearningCodeCompletion:jetbrains系列自带的插件 支持工具:jetbrains全系列,vs/vscode,也就是常见的编程工程都支持 支持语言:目前常见的编程语言都支持 网易自研的 网易自研的CodeMaker:CodeMaker智能开发平台...

  vWa2lMmTbsfJ   2023年11月12日   22   0   0 AI综合

改键的需求 买了一把61键的小键盘,有些按钮没有,比如Home、End、四个方向键,这些键需要按Fn+XX来实现,所以上网查了一下键盘按键修改的方法,即把按键给改了,比如把右边的Ctrl改成方向键。 显示当前按下的键 显示当前按下的按键,免费软件:适用于PC|的击键可视化工具显示按下的键沃维软件(vovsoft.com) 安装程序支持自动启动,登录时自动启动应用程序,部分标点符号无法显示,其它按键包括组合键都可以正常显示。 按键映射 修改windows的按键映射方式分为两类: 永久修改,注册表修改,需要重启电脑 本次修改,运动时打开软件才生效,软件关闭则失效。 永久修改按键 需要重启电...

  vWa2lMmTbsfJ   2023年11月05日   40   0   0 其他技术区

telnet是什么 Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力 但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录 telnet能干嘛? 连接上游戏的python环境,可在终端窗口中进行调试。 在游戏运行期间调试游戏中的数据 可以直接调用游戏脚本代码,GM指令,方便使用更多指令提高测试效率。 使用telnet连接游戏 格式:telnetip端口 示...

  vWa2lMmTbsfJ   2023年11月02日   53   0   0 游戏开发

telnet是什么 Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力 但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录 telnet能干嘛? 连接上游戏的python环境,可在终端窗口中进行调试。 在游戏运行期间调试游戏中的数据 可以直接调用游戏脚本代码,GM指令,方便使用更多指令提高测试效率。 使用telnet连接游戏 格式:telnetip端口 示...

  vWa2lMmTbsfJ   2023年11月02日   33   0   0 游戏开发

使用vscode在全局搜索时,代码中的内容无法搜索出来,或者搜索出来是乱码。 经验证:与vscode的语言设置无关,设置为中文或英文都是一样的 后面猜想到会不会与文件自身的编码有关,因为我们项目中的代码文件大多是GB18030的,而vscode默认的编码应该是UTF-8 解决方案 经过验证有两2种方法可以解决: 添加"files.encoding":"gb18030"到usersetting或workspacesettings配置中 建议添加到workspace,如果你不了解什么是workspace,那就简单粗暴地添加到usersettings中。 按ctrl+p,搜索settings,就会...

  vWa2lMmTbsfJ   2023年11月02日   36   0   0 其他技术区

STL和c标准库 标准模板库STL部分包含在C标准库中的软件库。 c标准库:即以std::开头,但是部分编译器厂商也会把STL的内容放在std::namespace里面 由于一个常见的误解,您可能会将C标准库视为“STL”,或者将工具链中C标准库的实现部分视为“STL实现”。 事实并非如此。 MSVC和GCC(作为编译器特定的扩展实现)都将其放在std命名空间中也是非常可惜的,这不仅具有高度误导性,而且根据标准也是非法的。 为什么c的名词会这么混乱? 因为c委员会制定标准,各家编译器厂商实现标准(gcc,msvc) vector 类似于C中的List,长度会自动扩容(2倍扩容),普通的数组需...

  vWa2lMmTbsfJ   2023年11月02日   46   0   0 C++

vs中创建Filter 在一个新项目中右键AddNew,默认只有一选项NewFilter。 创建出来的Filter可以理解为是VS的过滤器(虚拟目录),它不会在本地的磁盘上新建目录,而是修改了.filters文件,把这种目录关系记录在.filters文件中。 新建一个vcproject,默认有这几种Filter,当然在实际的项目中我们会新建很多Filter用来目录分类,也可以对默认的Filter进行改名。 vs中创建文件夹 点击菜单栏ProjectShowAllFile,然后再切到解决方案浏览器,右键New,就会出现NewFolder,不过随之NewFilter选项也消失了。 划重点...

  vWa2lMmTbsfJ   2023年11月02日   37   0   0 C++

预编译头文件 在VisualStudio中创建新项目时,会在项目中添加一个名为pch.h的“预编译标头文件”。(在VisualStudio2017及更高版本中,该文件名为stdafx.h)此文件的目的是加快生成过程。应在此处包含任何稳定的标头文件,例如标准库标头(如 )。预编译标头仅在它或它包含的任何文件发生更改时进行编辑。如果只在项目源代码中进行更改,则生成将跳过对预编译标头的编译。 pch.h、pch.hpp、stdafx.h是等价的,甚至你可以在项目中修改为自定义文件名。 来源:预编译的头文件|MicrosoftLearn 实际应用中,还经常把外部调用的API的头文件编译为PCH...

  vWa2lMmTbsfJ   2023年11月02日   27   0   0 C++

通过gcc或msvc,clang等编译器编译出来的C源文件是.o文件。在windows上也就是PE文件,linux为ELF文件,在这一步中,调用其它代码文件中的函数的函数地址是未知的(00000),等到链接之后才会替换掉函数地址的 linux,windows可执行文件(ELF、PE) C是如何编译的 C/C编译过程主要分为4个过程 编译预处理 编译、优化阶段 汇编过程 链接程序 编译游戏引擎的耗时 内网使用IB(incrediBuild)编译引擎时总耗时2分23秒,编译2分钟,link耗时15秒 在vs中提高c的编译速度 达到修改一行代码,10s内编译完,link会花点时间,因为所的工程...

  vWa2lMmTbsfJ   2023年11月02日   32   0   0 C++

宏的一些作用,包括但不限于这些 定义一个变量、字符串、类型 定义一个函数、条件表达式 条件编译、调试信息,异常类 定义结构体、命名空间 定义模版、枚举、函数对象 define宏定义在C中用于定义常量、函数、条件编译、字符串、条件表达式、变量、注释、调试信息、类型、函数等,下面是一些define宏定义的用法举例: 需要注意的是,define宏定义是一种文本替换,它不会进行类型检查和语法检查,容易出现错误。因此,在使用define宏定义时,应该遵循一些规范,例如使用大写字母来表示常量、使用括号来保证优先级等。同时,应该避免滥用define宏定义,以免影响代码的可读性和可维护性。 条件编译 d...

  vWa2lMmTbsfJ   2023年11月02日   27   0   0 C++
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~