c語言開源游戲(C語言游戲源碼)
本篇文章給大家談?wù)刢語言開源游戲,以及C語言游戲源碼對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
C語言制作小游戲時(shí)怎么添加圖片音樂,代碼怎么打?
添加音樂還是比較麻煩的
一個(gè)簡單的思路是
先找一個(gè)開源的播放器代碼
或者直接搞一個(gè)播放器接口的庫
然后
把背景音樂存成文件,
在打開游戲的時(shí)候
創(chuàng)建線程進(jìn)行播放。
代碼編寫:
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
學(xué)習(xí)cocos2d-x需要有C語言基礎(chǔ)嗎
cocos2d-x是使用的C++語言做的開發(fā),是一個(gè)開源的移動(dòng)2D游戲框架,這是一個(gè)C++ Cocos2d-iPhone項(xiàng)目的版本。使用目前主流C++開發(fā)語言。
你可以考慮學(xué)習(xí)一下C++的相關(guān)內(nèi)容,如果你有C/C++基礎(chǔ)/iOS開發(fā)基礎(chǔ)更好了,都可以的。學(xué)習(xí)新技術(shù)要慢慢來,不能急。一步一個(gè)腳。
吐血整理:C++編程語言資源匯總
關(guān)于 C++ 框架、庫和資源的一些匯總列表,內(nèi)容包括:標(biāo)準(zhǔn)庫、Web應(yīng)用框架、人工智能、數(shù)據(jù)庫、圖片處理、機(jī)器學(xué)習(xí)、日志、代碼分析等。有需要的小伙伴可以收藏一下!
C++標(biāo)準(zhǔn)庫,包括了STL容器,算法和函數(shù)等。
C++ Standard Library:是一系列類和函數(shù)的集合,使用核心語言編寫,也是C++ISO自身標(biāo)準(zhǔn)的一部分。
Standard Template Library:標(biāo)準(zhǔn)模板庫
C POSIX library : POSIX系統(tǒng)的C標(biāo)準(zhǔn)庫規(guī)范
ISO C++ Standards Committee :C++標(biāo)準(zhǔn)委員會(huì)
C++通用框架和庫
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本組件的集合
ASL :Adobe源代碼庫提供了同行的評審和可移植的C++源代碼庫。
Boost :大量通用C++庫的集合。
BDE :來自于彭博資訊實(shí)驗(yàn)室的開發(fā)環(huán)境。
Cinder:提供專業(yè)品質(zhì)創(chuàng)造性編碼的開源開發(fā)社區(qū)。
Cxxomfort:輕量級的,只包含頭文件的庫,將C++ 11的一些新特性移植到C++03中。
Dlib:使用契約式編程和現(xiàn)代C++ 科技 設(shè)計(jì)的通用的跨平臺的C++庫。
EASTL :EA-STL公共部分
ffead-cpp :企業(yè)應(yīng)用程序開發(fā)框架
Folly:由Facebook開發(fā)和使用的開源C++庫
JUCE :包羅萬象的C++類庫,用于開發(fā)跨平臺軟件
libPhenom:用于構(gòu)建高性能和高度可擴(kuò)展性系統(tǒng)的事件框架。
LibSourcey :用于實(shí)時(shí)的視頻流和高性能網(wǎng)絡(luò)應(yīng)用程序的C++11 evented IO
LibU : C語言寫的多平臺工具庫
Loki :C++庫的設(shè)計(jì),包括常見的設(shè)計(jì)模式和習(xí)語的實(shí)現(xiàn)。
MiLi :只含頭文件的小型C++庫
openFrameworks :開發(fā)C++工具包,用于創(chuàng)意性編碼。
Qt :跨平臺的應(yīng)用程序和用戶界面框架
Reason :跨平臺的框架,使開發(fā)者能夠更容易地使用Java,.Net和Python,同時(shí)也滿足了他們對C++性能和優(yōu)勢的需求。
ROOT :具備所有功能的一系列面向?qū)ο蟮目蚣?,能夠非常高效地處理和分析大量的?shù)據(jù),為歐洲原子能研究機(jī)構(gòu)所用。
STLport:是STL具有代表性的版本
STXXL:用于額外的大型數(shù)據(jù)集的標(biāo)準(zhǔn)模板庫。
Ultimate++ :C++跨平臺快速應(yīng)用程序開發(fā)框架
Windows Template Library:用于開發(fā)Windows應(yīng)用程序和UI組件的C++庫
Yomm11 :C++11的開放multi-methods.
btsk : 游戲 行為樹啟動(dòng)器工具
Evolving Objects:基于模板的,ANSI C++演化計(jì)算庫,能夠幫助你非??焖俚鼐帉懗鲎约旱碾S機(jī)優(yōu)化算法。
Neu:C++11框架,編程語言集,用于創(chuàng)建人工智能應(yīng)用程序的多用途軟件系統(tǒng)。
Boost.Asio:用于網(wǎng)絡(luò)和底層I/O編程的跨平臺的C++庫。
libev :功能齊全,高性能的時(shí)間循環(huán),輕微地仿效libevent,但是不再像libevent一樣有局限性,也修復(fù)了它的一些bug。
libevent :事件通知庫
libuv :跨平臺異步I/O。
音頻,聲音,音樂,數(shù)字化音樂庫
FMOD :易于使用的跨平臺的音頻引擎和音頻內(nèi)容的 游戲 創(chuàng)作工具。
Maximilian :C++音頻和音樂數(shù)字信號處理庫
OpenAL :開源音頻庫—跨平臺的音頻API
Opus:一個(gè)完全開放的,免版稅的,高度通用的音頻編解碼器
Speex:免費(fèi)編解碼器,為Opus所廢棄
Tonic: C++易用和高效的音頻合成
Vorbis: Ogg Vorbis是一種完全開放的,非專有的,免版稅的通用壓縮音頻格式。
生物信息,基因組學(xué)和生物技術(shù)
libsequence:用于表示和分析群體遺傳學(xué)數(shù)據(jù)的C++庫。
SeqAn:專注于生物數(shù)據(jù)序列分析的算法和數(shù)據(jù)結(jié)構(gòu)。
Vcflib :用于解析和處理VCF文件的C++庫
Wham:直接把聯(lián)想測試應(yīng)用到BAM文件的基因結(jié)構(gòu)變異。
壓縮和歸檔庫
bzip2:一個(gè)完全免費(fèi),免費(fèi)專利和高質(zhì)量的數(shù)據(jù)壓縮
doboz:能夠快速解壓縮的壓縮庫
PhysicsFS:對各種歸檔提供抽象訪問的庫,主要用于視頻 游戲 ,設(shè)計(jì)靈感部分來自于Quake3的文件子系統(tǒng)。
KArchive:用于創(chuàng)建,讀寫和操作文件檔案(例如zip和 tar)的庫,它通過QIODevice的一系列子類,使用gzip格式,提供了透明的壓縮和解壓縮的數(shù)據(jù)。
LZ4 :非常快速的壓縮算法
LZHAM :無損壓縮數(shù)據(jù)庫,壓縮比率跟LZMA接近,但是解壓縮速度卻要快得多。
LZMA :7z格式默認(rèn)和通用的壓縮方法。
LZMAT :及其快速的實(shí)時(shí)無損數(shù)據(jù)壓縮庫
miniz:單一的C源文件,緊縮/膨脹壓縮庫,使用zlib兼容API,ZIP歸檔讀寫,PNG寫方式。
Minizip:Zlib最新bug修復(fù),支持PKWARE磁盤跨越,AES加密和IO緩沖。
Snappy :快速壓縮和解壓縮
ZLib :非常緊湊的數(shù)據(jù)流壓縮庫
ZZIPlib:提供ZIP歸檔的讀權(quán)限。
并發(fā)執(zhí)行和多線程
Boost.Compute :用于OpenCL的C++GPU計(jì)算庫
Bolt :針對GPU進(jìn)行優(yōu)化的C++模板庫
C++React :用于C++11的反應(yīng)性編程庫
Intel TBB :Intel線程構(gòu)件塊
Libclsph:基于OpenCL的GPU加速SPH流體仿真庫
OpenCL :并行編程的異構(gòu)系統(tǒng)的開放標(biāo)準(zhǔn)
OpenMP:OpenMP API
Thrust :類似于C++標(biāo)準(zhǔn)模板庫的并行算法庫
HPX :用于任何規(guī)模的并行和分布式應(yīng)用程序的通用C++運(yùn)行時(shí)系統(tǒng)
VexCL :用于OpenCL/CUDA 的C++向量表達(dá)式模板庫。
C++ B-tree :基于B樹數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)命令內(nèi)存容器的模板庫
Hashmaps: C++中開放尋址哈希表算法的實(shí)現(xiàn)
Bcrypt :一個(gè)跨平臺的文件加密工具,加密文件可以移植到所有可支持的操作系統(tǒng)和處理器中。
BeeCrypt:
Botan: C++加密庫
Crypto++:一個(gè)有關(guān)加密方案的免費(fèi)的C++庫
GnuPG: OpenPGP標(biāo)準(zhǔn)的完整實(shí)現(xiàn)
GnuTLS :實(shí)現(xiàn)了SSL,TLS和DTLS協(xié)議的安全通信庫
Libgcrypt
libmcrypt
LibreSSL:免費(fèi)的SSL/TLS協(xié)議,屬于2014 OpenSSL的一個(gè)分支
LibTomCrypt:一個(gè)非常全面的,模塊化的,可移植的加密工具
libsodium:基于NaCI的加密庫,固執(zhí)己見,容易使用
Nettle 底層的加密庫
OpenSSL : 一個(gè)強(qiáng)大的,商用的,功能齊全的,開放源代碼的加密庫。
Tiny AES128 in C :用C實(shí)現(xiàn)的一個(gè)小巧,可移植的實(shí)現(xiàn)了AES128ESB的加密算法
數(shù)據(jù)庫,SQL服務(wù)器,ODBC驅(qū)動(dòng)程序和工具
hiberlite :用于Sqlite3的C++對象關(guān)系映射
Hiredis: 用于Redis數(shù)據(jù)庫的很簡單的C客戶端庫
LevelDB: 快速鍵值存儲庫
LMDB:符合數(shù)據(jù)庫四大基本元素的嵌入鍵值存儲
MySQL++:封裝了MySql的C API的C++ 包裝器
RocksDB:來自Facebook的嵌入鍵值的快速存儲
SQLite:一個(gè)完全嵌入式的,功能齊全的關(guān)系數(shù)據(jù)庫,只有幾百KB,可以正確包含到你的項(xiàng)目中。
調(diào)試庫, 內(nèi)存和資源泄露檢測,單元測試
Boost.Test:Boost測試庫
Catch:一個(gè)很 時(shí)尚 的,C++原生的框架,只包含頭文件,用于單元測試,測試驅(qū)動(dòng)開發(fā)和行為驅(qū)動(dòng)開發(fā)。
CppUnit:由JUnit移植過來的C++測試框架
CTest:CMake測試驅(qū)動(dòng)程序
googletest:谷歌C++測試框架
ig-debugheap:用于跟蹤內(nèi)存錯(cuò)誤的多平臺調(diào)試堆
libtap:用C語言編寫測試
MemTrack —用于C++跟蹤內(nèi)存分配
microprofile- 跨平臺的網(wǎng)絡(luò)試圖分析器
minUnit :使用C寫的迷你單元測試框架,只使用了兩個(gè)宏
Remotery:用于web視圖的單一C文件分析器
UnitTest++:輕量級的C++單元測試框架
Cocos2d-x :一個(gè)跨平臺框架,用于構(gòu)建2D 游戲 ,互動(dòng)圖書,演示和其他圖形應(yīng)用程序。
Grit :社區(qū)項(xiàng)目,用于構(gòu)建一個(gè)免費(fèi)的 游戲 引擎,實(shí)現(xiàn)開放的世界3D 游戲 。
Irrlicht :C++語言編寫的開源高性能的實(shí)時(shí)#D引擎
Polycode:C++實(shí)現(xiàn)的用于創(chuàng)建 游戲 的開源框架(與Lua綁定)。
CEGUI : 很靈活的跨平臺GUI庫
FLTK :快速,輕量級的跨平臺的C++GUI工具包。
GTK+: 用于創(chuàng)建圖形用戶界面的跨平臺工具包
gtkmm :用于受歡迎的GUI庫GTK+的官方C++接口。
imgui:擁有最小依賴關(guān)系的立即模式圖形用戶界面
libRocket :libRocket 是一個(gè)C++ HTML/CSS 游戲 接口中間件
MyGUI :快速,靈活,簡單的GUI
Ncurses:終端用戶界面
QCustomPlot :沒有更多依賴關(guān)系的Qt繪圖控件
Qwt :用戶與技術(shù)應(yīng)用的Qt 控件
QwtPlot3D :功能豐富的基于Qt/OpenGL的C++編程庫,本質(zhì)上提供了一群3D控件
OtterUI :OtterUI 是用于嵌入式系統(tǒng)和互動(dòng) 娛樂 軟件的用戶界面開發(fā)解決方案
PDCurses 包含源代碼和預(yù)編譯庫的公共圖形函數(shù)庫
wxWidgets C++庫,允許開發(fā)人員使用一個(gè)代碼庫可以為widows, Mac OS X,Linux和其他平臺創(chuàng)建應(yīng)用程序
bgfx:跨平臺的渲染庫
Cairo:支持多種輸出設(shè)備的2D圖形庫
Horde3D 一個(gè)小型的3D渲染和動(dòng)畫引擎
magnum C++11和OpenGL 2D/3D 圖形引擎
Ogre 3D 用C++編寫的一個(gè)面向場景,實(shí)時(shí),靈活的3D渲染引擎(并非 游戲 引擎)
OpenSceneGraph 具有高性能的開源3D圖形工具包
Panda3D 用于3D渲染和 游戲 開發(fā)的框架,用Python和C++編寫。
Skia 用于繪制文字,圖形和圖像的完整的2D圖形庫
urho3d 跨平臺的渲染和 游戲 引擎。
Boost.GIL:通用圖像庫
CImg :用于圖像處理的小型開源C++工具包
CxImage :用于加載,保存,顯示和轉(zhuǎn)換的圖像處理和轉(zhuǎn)換庫,可以處理的圖片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。
FreeImage :開源庫,支持現(xiàn)在多媒體應(yīng)用所需的通用圖片格式和其他格式。
GDCM:Grassroots DICOM 庫
ITK:跨平臺的開源圖像分析系統(tǒng)
Magick++:ImageMagick程序的C++接口
MagickWnd:ImageMagick程序的C++接口
OpenCV : 開源計(jì)算機(jī)視覺類庫
tesseract-ocr:OCR引擎
VIGRA :用于圖像分析通用C++計(jì)算機(jī)視覺庫
VTK :用于3D計(jì)算機(jī)圖形學(xué),圖像處理和可視化的開源免費(fèi)軟件系統(tǒng)。
最后, 對于學(xué)習(xí)編程或者在工作想升職的程序員兄弟,如果你想更好的提升你的編程能力幫助你提升水平! 筆者這里或許可以幫到你~
編程學(xué)習(xí)書籍分享:
編程學(xué)習(xí)視頻分享:
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
c語言開源游戲的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于C語言游戲源碼、c語言開源游戲的信息別忘了在本站進(jìn)行查找喔。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。