本文作者:qiaoqingyi

c语言开源游戏(C语言游戏源码)

qiaoqingyi 2023-02-02 581

本篇文章给大家谈谈c语言开源游戏,以及C语言游戏源码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

C语言制作小游戏时怎么添加图片音乐,代码怎么打?

添加音乐还是比较麻烦的

一个简单的思路是

先找一个开源的播放器代码

或者直接搞一个播放器接口的库

然后

把背景音乐存成文件,

在打开游戏的时候

创建线程进行播放。

代码编写:

PlaySound

The

PlaySound

function

plays

a

sound

specified

by

the

given

filename,

resource,

or

system

event.

(A

system

event

may

be

associated

with

a

sound

in

the

registry

or

in

the

WIN.INI

file.)

BOOL

PlaySound(

LPCSTR

pszSound,

HMODULE

hmod,

DWORD

fdwSound

);

Parameters

pszSound

A

string

that

specifies

the

sound

to

play.

If

this

parameter

is

NULL,

any

currently

playing

waveform

sound

is

stopped.

To

stop

a

non-waveform

sound,

specify

SND_PURGE

in

the

fdwSound

parameter.

Three

flags

in

fdwSound

(SND_ALIAS,

SND_FILENAME,

and

SND_RESOURCE)

determine

whether

the

name

is

interpreted

as

an

alias

for

a

system

event,

a

filename,

or

a

resource

identifier.

If

none

of

these

flags

are

specified,

PlaySound

searches

the

registry

or

the

WIN.INI

file

for

an

association

with

the

specified

sound

name.

If

an

association

is

found,

the

sound

event

is

played.

If

no

association

is

found

in

the

registry,

the

name

is

interpreted

as

a

filename.

hmod

Handle

of

the

executable

file

that

contains

the

resource

to

be

loaded.

This

parameter

must

be

NULL

unless

SND_RESOURCE

is

specified

in

fdwSound.

fdwSound

Flags

for

playing

the

sound.

The

following

values

are

defined:

SND_APPLICATION

The

sound

is

played

using

an

application-specific

association.

SND_ALIAS

The

pszSound

parameter

is

a

system-event

alias

in

the

registry

or

the

WIN.INI

file.

Do

not

use

with

either

SND_FILENAME

or

SND_RESOURCE.

SND_ALIAS_ID

The

pszSound

parameter

is

a

predefined

sound

identifier.

SND_ASYNC

The

sound

is

played

asynchronously

and

PlaySound

returns

immediately

after

beginning

the

sound.

To

terminate

an

asynchronously

played

waveform

sound,

call

PlaySound

with

pszSound

set

to

NULL.

SND_FILENAME

The

pszSound

parameter

is

a

filename.

SND_LOOP

The

sound

plays

repeatedly

until

PlaySound

is

called

again

with

the

pszSound

parameter

set

to

NULL.

You

must

also

specify

the

SND_ASYNC

flag

to

indicate

an

asynchronous

sound

event.

SND_MEMORY

A

sound

event's

file

is

loaded

in

RAM.

The

parameter

specified

by

pszSound

must

point

to

an

image

of

a

sound

in

memory.

SND_NODEFAULT

No

default

sound

event

is

used.

If

the

sound

cannot

be

found,

PlaySound

returns

silently

without

playing

the

default

sound.

SND_NOSTOP

The

specified

sound

event

will

yield

to

another

sound

event

that

is

already

playing.

If

a

sound

cannot

be

played

because

the

resource

needed

to

generate

that

sound

is

busy

playing

another

sound,

the

function

immediately

returns

FALSE

without

playing

the

requested

sound.

If

this

flag

is

not

specified,

PlaySound

attempts

to

stop

the

currently

playing

sound

so

that

the

device

can

be

used

to

play

the

new

sound.

SND_NOWAIT

If

the

driver

is

busy,

return

immediately

without

playing

the

sound.

SND_PURGE

Sounds

are

to

be

stopped

for

the

calling

task.

If

pszSound

is

not

NULL,

all

instances

of

the

specified

sound

are

stopped.

If

pszSound

is

NULL,

all

sounds

that

are

playing

on

behalf

of

the

calling

task

are

stopped.

You

must

also

specify

the

instance

handle

to

stop

SND_RESOURCE

events.

SND_RESOURCE

The

pszSound

parameter

is

a

resource

identifier;

hmod

must

identify

the

instance

that

contains

the

resource.

SND_SYNC

Synchronous

playback

of

a

sound

event.

PlaySound

returns

after

the

sound

event

completes.

Return

Values

Returns

TRUE

if

successful

or

FALSE

otherwise.

Remarks

The

sound

specified

by

pszSound

must

fit

into

available

physical

memory

and

be

playable

by

an

installed

waveform-audio

device

driver.

PlaySound

searches

the

following

directories

for

sound

files:

the

current

directory;

the

Windows

directory;

the

Windows

system

directory;

directories

listed

in

the

PATH

environment

variable;

and

the

list

of

directories

mapped

in

a

network.

For

more

information

about

the

directory

search

order,

see

the

documentation

for

the

OpenFile

function.

If

it

cannot

find

the

specified

sound,

PlaySound

uses

the

default

system

event

sound

entry

instead.

If

the

function

can

find

neither

the

system

default

entry

nor

the

default

sound,

it

makes

no

sound

and

returns

FALSE.

QuickInfo

Windows

NT:

Requires

version

3.1

or

later.

Windows:

Requires

Windows

95

or

later.

Windows

CE:

Unsupported.

Header:

Declared

in

mmsystem.h.

Import

Library:

Use

winmm.lib.

Unicode:

Implemented

as

Unicode

and

ANSI

versions

on

Windows

NT.

See

Also

Waveform

Audio

Overview,

Waveform

Functions

学习cocos2d-x需要有C语言基础吗

cocos2d-x是使用的C++语言做的开发,是一个开源的移动2D游戏框架,这是一个C++ Cocos2d-iPhone项目的版本。使用目前主流C++开发语言。

你可以考虑学习一下C++的相关内容,如果你有C/C++基础/iOS开发基础更好了,都可以的。学习新技术要慢慢来,不能急。一步一个脚。

吐血整理:C++编程语言资源汇总

关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。有需要的小伙伴可以收藏一下!

C++标准库,包括了STL容器,算法和函数等。

C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。

Standard Template Library:标准模板库

C POSIX library : POSIX系统的C标准库规范

ISO C++ Standards Committee :C++标准委员会

C++通用框架和库

Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的集合

ASL :Adobe源代码库提供了同行的评审和可移植的C++源代码库。

Boost :大量通用C++库的集合。

BDE :来自于彭博资讯实验室的开发环境。

Cinder:提供专业品质创造性编码的开源开发社区。

Cxxomfort:轻量级的,只包含头文件的库,将C++ 11的一些新特性移植到C++03中。

Dlib:使用契约式编程和现代C++ 科技 设计的通用的跨平台的C++库。

EASTL :EA-STL公共部分

ffead-cpp :企业应用程序开发框架

Folly:由Facebook开发和使用的开源C++库

JUCE :包罗万象的C++类库,用于开发跨平台软件

libPhenom:用于构建高性能和高度可扩展性系统的事件框架。

LibSourcey :用于实时的视频流和高性能网络应用程序的C++11 evented IO

LibU : C语言写的多平台工具库

Loki :C++库的设计,包括常见的设计模式和习语的实现。

MiLi :只含头文件的小型C++库

openFrameworks :开发C++工具包,用于创意性编码。

Qt :跨平台的应用程序和用户界面框架

Reason :跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求。

ROOT :具备所有功能的一系列面向对象的框架,能够非常高效地处理和分析大量的数据,为欧洲原子能研究机构所用。

STLport:是STL具有代表性的版本

STXXL:用于额外的大型数据集的标准模板库。

Ultimate++ :C++跨平台快速应用程序开发框架

Windows Template Library:用于开发Windows应用程序和UI组件的C++库

Yomm11 :C++11的开放multi-methods.

btsk : 游戏 行为树启动器工具

Evolving Objects:基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写出自己的随机优化算法。

Neu:C++11框架,编程语言集,用于创建人工智能应用程序的多用途软件系统。

Boost.Asio:用于网络和底层I/O编程的跨平台的C++库。

libev :功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bug。

libevent :事件通知库

libuv :跨平台异步I/O。

音频,声音,音乐,数字化音乐库

FMOD :易于使用的跨平台的音频引擎和音频内容的 游戏 创作工具。

Maximilian :C++音频和音乐数字信号处理库

OpenAL :开源音频库—跨平台的音频API

Opus:一个完全开放的,免版税的,高度通用的音频编解码器

Speex:免费编解码器,为Opus所废弃

Tonic: C++易用和高效的音频合成

Vorbis: Ogg Vorbis是一种完全开放的,非专有的,免版税的通用压缩音频格式。

生物信息,基因组学和生物技术

libsequence:用于表示和分析群体遗传学数据的C++库。

SeqAn:专注于生物数据序列分析的算法和数据结构。

Vcflib :用于解析和处理VCF文件的C++库

Wham:直接把联想测试应用到BAM文件的基因结构变异。

压缩和归档库

bzip2:一个完全免费,免费专利和高质量的数据压缩

doboz:能够快速解压缩的压缩库

PhysicsFS:对各种归档提供抽象访问的库,主要用于视频 游戏 ,设计灵感部分来自于Quake3的文件子系统。

KArchive:用于创建,读写和操作文件档案(例如zip和 tar)的库,它通过QIODevice的一系列子类,使用gzip格式,提供了透明的压缩和解压缩的数据。

LZ4 :非常快速的压缩算法

LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。

LZMA :7z格式默认和通用的压缩方法。

LZMAT :及其快速的实时无损数据压缩库

miniz:单一的C源文件,紧缩/膨胀压缩库,使用zlib兼容API,ZIP归档读写,PNG写方式。

Minizip:Zlib最新bug修复,支持PKWARE磁盘跨越,AES加密和IO缓冲。

Snappy :快速压缩和解压缩

ZLib :非常紧凑的数据流压缩库

ZZIPlib:提供ZIP归档的读权限。

并发执行和多线程

Boost.Compute :用于OpenCL的C++GPU计算库

Bolt :针对GPU进行优化的C++模板库

C++React :用于C++11的反应性编程库

Intel TBB :Intel线程构件块

Libclsph:基于OpenCL的GPU加速SPH流体仿真库

OpenCL :并行编程的异构系统的开放标准

OpenMP:OpenMP API

Thrust :类似于C++标准模板库的并行算法库

HPX :用于任何规模的并行和分布式应用程序的通用C++运行时系统

VexCL :用于OpenCL/CUDA 的C++向量表达式模板库。

C++ B-tree :基于B树数据结构,实现命令内存容器的模板库

Hashmaps: C++中开放寻址哈希表算法的实现

Bcrypt :一个跨平台的文件加密工具,加密文件可以移植到所有可支持的操作系统和处理器中。

BeeCrypt:

Botan: C++加密库

Crypto++:一个有关加密方案的免费的C++库

GnuPG: OpenPGP标准的完整实现

GnuTLS :实现了SSL,TLS和DTLS协议的安全通信库

Libgcrypt

libmcrypt

LibreSSL:免费的SSL/TLS协议,属于2014 OpenSSL的一个分支

LibTomCrypt:一个非常全面的,模块化的,可移植的加密工具

libsodium:基于NaCI的加密库,固执己见,容易使用

Nettle 底层的加密库

OpenSSL : 一个强大的,商用的,功能齐全的,开放源代码的加密库。

Tiny AES128 in C :用C实现的一个小巧,可移植的实现了AES128ESB的加密算法

数据库,SQL服务器,ODBC驱动程序和工具

hiberlite :用于Sqlite3的C++对象关系映射

Hiredis: 用于Redis数据库的很简单的C客户端库

LevelDB: 快速键值存储库

LMDB:符合数据库四大基本元素的嵌入键值存储

MySQL++:封装了MySql的C API的C++ 包装器

RocksDB:来自Facebook的嵌入键值的快速存储

SQLite:一个完全嵌入式的,功能齐全的关系数据库,只有几百KB,可以正确包含到你的项目中。

调试库, 内存和资源泄露检测,单元测试

Boost.Test:Boost测试库

Catch:一个很 时尚 的,C++原生的框架,只包含头文件,用于单元测试,测试驱动开发和行为驱动开发。

CppUnit:由JUnit移植过来的C++测试框架

CTest:CMake测试驱动程序

googletest:谷歌C++测试框架

ig-debugheap:用于跟踪内存错误的多平台调试堆

libtap:用C语言编写测试

MemTrack —用于C++跟踪内存分配

microprofile- 跨平台的网络试图分析器

minUnit :使用C写的迷你单元测试框架,只使用了两个宏

Remotery:用于web视图的单一C文件分析器

UnitTest++:轻量级的C++单元测试框架

Cocos2d-x :一个跨平台框架,用于构建2D 游戏 ,互动图书,演示和其他图形应用程序。

Grit :社区项目,用于构建一个免费的 游戏 引擎,实现开放的世界3D 游戏 。

Irrlicht :C++语言编写的开源高性能的实时#D引擎

Polycode:C++实现的用于创建 游戏 的开源框架(与Lua绑定)。

CEGUI : 很灵活的跨平台GUI库

FLTK :快速,轻量级的跨平台的C++GUI工具包。

GTK+: 用于创建图形用户界面的跨平台工具包

gtkmm :用于受欢迎的GUI库GTK+的官方C++接口。

imgui:拥有最小依赖关系的立即模式图形用户界面

libRocket :libRocket 是一个C++ HTML/CSS 游戏 接口中间件

MyGUI :快速,灵活,简单的GUI

Ncurses:终端用户界面

QCustomPlot :没有更多依赖关系的Qt绘图控件

Qwt :用户与技术应用的Qt 控件

QwtPlot3D :功能丰富的基于Qt/OpenGL的C++编程库,本质上提供了一群3D控件

OtterUI :OtterUI 是用于嵌入式系统和互动 娱乐 软件的用户界面开发解决方案

PDCurses 包含源代码和预编译库的公共图形函数库

wxWidgets C++库,允许开发人员使用一个代码库可以为widows, Mac OS X,Linux和其他平台创建应用程序

bgfx:跨平台的渲染库

Cairo:支持多种输出设备的2D图形库

Horde3D 一个小型的3D渲染和动画引擎

magnum C++11和OpenGL 2D/3D 图形引擎

Ogre 3D 用C++编写的一个面向场景,实时,灵活的3D渲染引擎(并非 游戏 引擎)

OpenSceneGraph 具有高性能的开源3D图形工具包

Panda3D 用于3D渲染和 游戏 开发的框架,用Python和C++编写。

Skia 用于绘制文字,图形和图像的完整的2D图形库

urho3d 跨平台的渲染和 游戏 引擎。

Boost.GIL:通用图像库

CImg :用于图像处理的小型开源C++工具包

CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。

FreeImage :开源库,支持现在多媒体应用所需的通用图片格式和其他格式。

GDCM:Grassroots DICOM 库

ITK:跨平台的开源图像分析系统

Magick++:ImageMagick程序的C++接口

MagickWnd:ImageMagick程序的C++接口

OpenCV : 开源计算机视觉类库

tesseract-ocr:OCR引擎

VIGRA :用于图像分析通用C++计算机视觉库

VTK :用于3D计算机图形学,图像处理和可视化的开源免费软件系统。

最后, 对于学习编程或者在工作想升职的程序员兄弟,如果你想更好的提升你的编程能力帮助你提升水平! 笔者这里或许可以帮到你~

编程学习书籍分享:

编程学习视频分享:

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

c语言开源游戏(C语言游戏源码)

c语言开源游戏的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于C语言游戏源码、c语言开源游戏的信息别忘了在本站进行查找喔。

阅读
分享