SDL游戏编程1

C、C++和Java语言
回复
rayfox
帖子: 39
注册时间: 2007-02-03 9:12
送出感谢: 0
接收感谢: 0

SDL游戏编程1

#1

帖子 rayfox » 2007-05-25 21:39

SDL是什么我就不说了,大家可以去查。
首先安装开发环境(只针对ubuntu 7.04):
哈哈,其实很简单。一条命令
sudo apt-get install libsdl1.2-dev
好了写几段代码试一试。

代码: 全选

#include <SDL.h> //包含SDL的头文件,注意大小写,以前我写成了sdl.h就不行,LINUX是区分大小的
#include <stdio.h> //这个就不说了

int main(int argc, char ** argv)  //这个学C语言的第一节课我就知道了
{
	SDL_Surface * screen;  //申明一个表面指针(windows的DX叫表面,我也暂时叫它表面呵呵)
	SDL_Event     event; //看就知道是事件
	
	bool bAppRun = true; //这个用来判断程序是否退出
	//初始化SDL
	if (SDL_Init(SDL_INIT_VIDEO) == -1) {
		fprintf(stderr, "SDL_Init %s\n", SDL_GetError()); //错了就看提示
		return -1; //退出程序
	}
	
	//初始化成功设置退出要调用的函数SDL_Quit
	atexit(SDL_Quit);
	
	//创建一个640X480 8-bit 模式的表面
	screen = SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE);
	if (screen == NULL) {
		fprintf(stderr, "Couldn't set 640x480x8 video mode %s\n",
			SDL_GetError());//错了就看提示
		return -1;//退出程序
	}
	
	while (bAppRun) {
		//消息循环
		if (SDL_PollEvent(&event)) { //SDL_PollEvent如果有事件返回真。没有可以作别的事。
			switch (event.type) {
				case SDL_KEYDOWN: //判断发生了什么?
					//按下任意键退出
					bAppRun = false;
				break;
			}
		}
	}
	
	return 0; //程序完
}
makefile文件的内容

代码: 全选

t1: main.o
	g++ -o t1 main.o `sdl-config --libs`

main.o: main.cpp
	g++ -c main.cpp `sdl-config --cflags`
是不是很简单?
附件
t1.tar.gz
(776 Bytes) 下载 82 次
rayfox
帖子: 39
注册时间: 2007-02-03 9:12
送出感谢: 0
接收感谢: 0

#2

帖子 rayfox » 2007-05-25 21:40

这个程序按任意键就退出了,明天讲一个位图的显示。
头像
antonym55
帖子: 353
注册时间: 2007-04-03 9:52
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 antonym55 » 2007-05-25 23:20

有没有OpenGL的?

如果装了beryl,貌似3D的画面比原来有所下降, (RP问题?)

以前玩过这个东东

第一次玩就把声卡整没声了

:em18 :em18 :em18 :em18
TODO LIST:
1.valgrind:
2.gcov:
3.cppuint:未在Linux中使用
4.PostgreSQL:unixODBC
5.Doxygen:UTF8 中文问题,生成LaTex文档问题
6.LaTex:明确安装问题,UTF8 中文字体问题
头像
nobrain
帖子: 808
注册时间: 2005-08-25 13:58
来自: ustc
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 nobrain » 2007-05-25 23:58

虽然现在没时间学习SDL,但是希望楼主写下去
爱喝真猪奶茶的夜鸣猪
rayfox
帖子: 39
注册时间: 2007-02-03 9:12
送出感谢: 0
接收感谢: 0

#5

帖子 rayfox » 2007-05-25 23:59

OpenGL以后会介绍,不过我对OpenGL也不是很熟悉,希望大家都来写这个教程.
我会先讲讲基础的2D,和整个SDL的框架,希望大家支持我呵呵!
声卡整没了?你真厉害。
头像
titainium
帖子: 689
注册时间: 2006-12-02 12:25
送出感谢: 0
接收感谢: 0

#6

帖子 titainium » 2007-05-26 10:36

每日一帖,追着看 :em66
Titainium
头像
Class Foo()
帖子: 11
注册时间: 2007-04-04 8:41
送出感谢: 0
接收感谢: 0

#7

帖子 Class Foo() » 2007-05-26 11:00

hoho,以前在dapper下glut死活装不上,,还好有python的glut绑定...
jackielii
帖子: 184
注册时间: 2006-09-06 22:26
送出感谢: 0
接收感谢: 0
联系:

#8

帖子 jackielii » 2007-05-26 11:07

以前看了一段时间,最后因为找不到合适的文档放弃了。
Little learning is a dangerous thing.
after17
帖子: 71
注册时间: 2007-04-25 10:19
来自: EE,SCUT
送出感谢: 0
接收感谢: 0

#9

帖子 after17 » 2007-05-29 11:32

支持lz,继续努力,我正想学这个~
回复

回到 “C/C++/Java”