sdl

8.SDL游戏开发:事件(二)

雨燕双飞 提交于 2020-03-02 11:27:59
没上班日子无聊,没得上班又没钱的日子便是痛苦,在上海又换了个地,生活不容易,新地方还不错,上网用无线,下午准备接着写SDL系列,没想到的是B450上fedora12 无线网卡驱动没整上,然后我在XP和fedora12之间不停的开关机,最终驱动装上去(lsmod 看到了),但是无线网卡还是配置上,(iwconfig)竟然找不到设备(是不是真没装上)。看来得去好看看网卡驱动模块,然后回到XP上,在虚拟机上装了个fedora17,后来发现环境什么的都没搞好,gcc都没有^=^!但仍然挡不住我这颗火热的心。接着昨天的继续,在事件驱动中鼠标有两个事件,分别是SDL_MouseMotionEvent 和SDL_MouseButtonEvent,前者指是在整个显示屏上所占的位置(x,y)关于X,Y是如何定义的,可以这么理解,在显示器的左上方是原点,水平方向是X轴,垂直方向是Y轴。后者表示鼠标的点击(单击双击左击右击)事件,还有滚动事件,下面是关于两个事件的结构体。关于两者具体的解释请看结构体注释。 typedef struct{ Uint8 type; /* SDL_MOUSEMOTION */ Uint8 state; /* 当前鼠标的状态 */ Uint16 x, y; /* 鼠标此时XY的坐标*/ Sint16 xrel, yrel; /*在X / Y方向的相对运动 */ } SDL

基于开发板 香橙派 Orange Pi PC PLUS 的 SDL 2交叉编译 ,并运行demo程序

房东的猫 提交于 2020-02-27 18:32:57
=====这个工作是 2019年3月6日的事情了,当时花了好几天功夫, 今天刚好有空, 晚上失眠,就写下blog吧===,另外受一个在大学做博导的朋友的委托, 帮他指导他的学生的毕业设计,最后还得了优秀奖, 那个学生做的是 mini 播放器 ==== 环境: Virtual box + ubuntu 1804 文件目录 ,e:\tools\VirtualBox\ubuntu18042-2\ubuntu18042\ vb 设置, 网络 , 桥接 , 安装 ubuntu 后, 默认是 开启了DHCP , 不管是 nat 还是 桥接模式, 都是自动可以上 互联网的 为了 使用指定的ip , 最好配置为静态ip # sudo apt-get install -y net-tools # ifconfig 查看ip 地址 安装 openssh-server 方便 windows 通过 ssh 和 虚拟机通讯了 winscp + putty 或者 xshell sudo apt-gt install -y openssh-server apt-get: Could not resolve ' archive.ubuntu.com ' 解决方案 : https://blog.csdn.net/imvkmark/article/details/44088221 修正方法是: http://ip

window下编译ffmpeg

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-27 09:04:26
网上关于编译ffmpeg的帖子很多,我也尝试了很多次,但是很多都过不了,一部分原因是版本问题,还有就是有的路劲没说的太明白导致的,经过一天的摸索,最终编译好了,下面把编译方式写下来,希望对看到帖子的人有帮助,特别感谢: http://www.cnblogs.com/zzugyl/p/3186170.html 。 特别注意:路径千万别弄错了,否则ffplay.exe可能编译不出来 1、准备工作: 在干活之前,先把下面五个软件下载下来。 1) MinGW-MSYS Bundle http://sourceforge.net/projects/mingwbundle/ 2) SDL http://www.libsdl.org/download-1.2.php 3) yasm http://yasm.tortall.net/Download.html 4) FFmpeg http://www.ffmpeg.org/download.html 5) pthreadgc2.dll http://www.dll-files.com/dllindex/dll-files.shtml?pthreadgc2 2、安装MinGW-MSYS Bundle软件 网上99%的方法都是先安装mingw,再通过网络下载的方法来安装mingw和msys软件。安装好之后,还需要通过烦琐的配置,来搭建编译环境

基于 FFmpeg 与SDL 的视频播放器 (3)—SDL视频显示

丶灬走出姿态 提交于 2020-02-10 19:59:44
基于 FFmpeg 与SDL 的视频播放器 (3)—SDL视频显示 SDL简介 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。 作用就是封装了复杂的视音频底层操作,简化了视音频处理的难度,它大幅度简化了控制图像、声音、输出入等工作所需撰写的代码 SDL是调用了DirectX等底层的 API完成了和硬件的交互,在结构上是将不同操作系统的库封装成相同的函数,以此实现其跨平台的特性。 基于QT的FFmpeg+SDL环境搭建 ​ 前面FFmpeg环境搭建已经操作过了,这里就不再演示。 获取SDL SDL获取地址:http://www.libsdl.org/ 根据自己的设备选择相应的版本 在项目中引用SDL 项目的创建过程这里不再描述,只讲解SDL引入部分,首先解压刚才下载的动态库和Dev压缩包,其中动态库压缩包中只有一个项目运行时所需要的.dll文件,Dev压缩包解压后我们只需要其中的include和lib文件夹,直接复制到我们的工程目录下面。 然后就是在.pro文件中引入(包括了之前引入的ffmpeg)

~ 如何用C++自制一个日麻游戏 ~ 概述

不打扰是莪最后的温柔 提交于 2020-01-31 05:25:24
前言 以前因为不信任某麻将的随机牌山算法,于是想自己做一个试试【结果就在探索随机种子上越走越偏,最后做成了一款 半吊子 的麻将。自认为在判断听牌的算法上有所创新。 所以敬请期待吧23333 我认为日麻算法主要有三个阶段(难点): 1. 大体框架构建 2. 听牌判断算法 3. 番、符数的计算 4. 界面设计(SDL) ! 要素注意 ! 1. C++编写 2. 日本四人麻将 1 (振听、立直、符等特殊规则) 3. Visual Studio 2 最新版开发(目前是2019) 4. SDL 2.0 3 的可视化界面 5. 尽可能多的 C++11 标准的写法 6. 一大堆口胡注释 8. 轻微强迫症 9. 弱鸡水平 10. 想到再加 原创文章,转载请标明出处,如有谬误欢迎各位指正 欢迎交流麻将算法,QQ:2639914082 日本麻将百科 ↩︎ Visual Studio (VS) 官网 ↩︎ Simple DirectMedia Layer (SDL) 官网 ↩︎ 来源: CSDN 作者: 扑克桑 链接: https://blog.csdn.net/qq_44637852/article/details/104114280

Can't install SDL on MinGW, getting `undefined reference to WinMain@16`

人走茶凉 提交于 2020-01-30 03:01:28
问题 I'm trying to install SDL on MinGW. I've downloaded SDL from here (the SDL2-devel-2.0.0-mingw.tar.gz link), then copied the contents of SDL2-2.0.0/x86_64-w64-mingw32/{bin,include,lib} into the matching directories in my MinGW installation. When I try to compile any file that contains #include ‹SDL2/SDL.h› using gcc test.c -lmingw32 -lSDL2main -lSDL2 -mwindows , GCC complains about undefined reference to WinMain@16 and undefined reference to some SDL functions. 回答1: SDL2-devel-2.0.0-mingw.tar

Can't install SDL on MinGW, getting `undefined reference to WinMain@16`

限于喜欢 提交于 2020-01-30 03:01:25
问题 I'm trying to install SDL on MinGW. I've downloaded SDL from here (the SDL2-devel-2.0.0-mingw.tar.gz link), then copied the contents of SDL2-2.0.0/x86_64-w64-mingw32/{bin,include,lib} into the matching directories in my MinGW installation. When I try to compile any file that contains #include ‹SDL2/SDL.h› using gcc test.c -lmingw32 -lSDL2main -lSDL2 -mwindows , GCC complains about undefined reference to WinMain@16 and undefined reference to some SDL functions. 回答1: SDL2-devel-2.0.0-mingw.tar

mac系统下安装pygame

戏子无情 提交于 2020-01-29 19:58:20
安装homebrew并更新到最新 安装pip并更新到最新 在terminal中输入: sudo xcode - select - - install 下载完X-code的命令行工具,再输入: 安装Pygame所依赖的库: brew install sdl smpeg sdl_image sdl_mixer sdl_ttf portmidi hg 如果你还想启用较高级的功能,如在游戏中包含声音,可安装下面两个额外的库: brew install sdl_mixer portmidi 最后输入: sudo pip install pygame 如果是python3,则输入: sudo pip3 install pygame 完成上述步骤以后: 输入: python3 运行后输入: import pygame 当出现 pygame 1.9.6 Hello from the pygame community. https://www.pygame.org/contribute.html pygame就安装成功了。 来源: CSDN 作者: weixin_lyy 链接: https://blog.csdn.net/weixin_45237889/article/details/104108604

SDL_ttf - Font directory/Where do fonts go?

会有一股神秘感。 提交于 2020-01-24 18:39:24
问题 I've been noodling around with SDL and OpenGL (in C++), and decided to get some text into my game. I've followed a few tutorials, but I always get the same error: "Couldn't find .ttf" I'm sure it's been asked before, but where should you place the font, and what should you write in the TTF_OpenFont's first parameter? Here's the TTF part so far. if (TTF_Init() != 0) { cerr << "TTF_Init() Failed: " << TTF_GetError() << endl; SDL_Quit(); exit(1); } TTF_Font *font; font = TTF_OpenFont("FreeSans

OpenGL 3.x context creation using SDL2 on OSX (Macbook Air 2012)

时光怂恿深爱的人放手 提交于 2020-01-20 17:28:54
问题 As far as I'm aware, the Macbook Air 2012 supports OpenGL 3.2. When using SDL 2.0 to create the OpenGL context, however, the context is only opengl version 2.1. Is it possible for SDL 2.0 to create a GL 3.2 context? 回答1: For everyone who still has this problem as of Wednesday, Oct 10th, SDL2 allows you to create an OpenGL 3.2 context on Macs running Mac OS X 10.7 (Lion) and up. You just need to add this code: SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL