SDL农场游戏开发 7.物品显示-背包层的编写

1.update函数的实现 上一节实现了FarmUILayer类,它负责显示各种UI控件,不过当前的问题就在于作物状态面板的时间并不会每一秒刷新一次,这是因为我们还并没有调用对应的update函数。 首先需要在FarmScene.h中添加一个update函数的声明: class FarmS...

2018-12-13 09:36:45

阅读数:6

评论数:0

selenium爬取QQ空间 (上)

这几天在看《从零开始学python网络爬虫》中的模拟浏览器篇,对其中的爬取好友说说比较感兴趣,不过书中只是爬取每个好友第一页说说,因此我稍微改进了下(发书名是尊重作者,不过个人认为这本书讲得比较浅,不求甚解)。 先大致说一下我遇到的坑。首先,如果想要看别人的说说,是必须要登录的(使用cookie...

2018-12-12 11:54:24

阅读数:21

评论数:0

dosbox 配置汇编语言开发环境

dosbox可以认为是一个虚拟机,它允许我们运行dos程序。这几天准备看一看汇编语言,因为系统环境从Windows换到了ubuntu,故特此开贴。本示例主要是在ubuntu下配置dosbox。 1.下载与安装 首先,下载dosbox,dosbox是基于SDL的,所以一般主流的操作系统都是支持的...

2018-12-11 11:09:15

阅读数:10

评论数:0

SDL农场游戏开发 6.作物的收获和铲除

FarmUILayer主要用于显示,它的功能大致如下: 商店、背包按钮。 作物的收获、铲除按钮。 作物的具体信息,如多少小时后成熟。 农场信息,如金币数目、等级和经验。 其界面大致如下: 商店按钮、仓库按钮和存档按钮。  农场信息,包括金币数目、等级和经验。  作物信息和...

2018-12-08 19:09:50

阅读数:13

评论数:0

爬取简书网30日热门得到词云 续

前面所使用的jieba分词中,是自行收集一些不重要的词进行过滤的,效率不是很高,并且带有比较大的主观性(算是优点,也算是缺点)。 本次则改为使用中文停用词表来过滤一些词语。代码相对于上一节来说变化的主要是analysis.py 中的analysis函数。 代码大致如下: import ji...

2018-12-08 11:33:17

阅读数:21

评论数:0

爬取简书网30日热门得到词云

这几天在看《从零开始学python网络爬虫》,里面有一章是爬取简书网7天热门,不过我在打开简述网七天热门的时候发现压根就只有一页(可能连一页都不到。。。),之后感觉不够难度就改而选择爬取30天热门。 1.链接分析 首先,简书网30天热门的第一个链接是:https://www.jianshu.c...

2018-12-07 11:43:39

阅读数:25

评论数:0

SDL农场游戏开发 5.作物层和动态数据

在前几节实现了Soil和SoilLayer,本节有两个任务,首先是实现CropLayer,之后是实现DynamicData。 无论是SoilLayer,还是CropLayer,其内部的代码相对较少,它们的作用类似于stl的vector,vector是把c/c++中的数组和对应的操作数组的方法结合...

2018-12-05 13:50:13

阅读数:20

评论数:0

SDL农场游戏开发 4.Crop类,作物的产生及成长

首先,先创建一个Entity类。该类的内部有一个精灵对象及相关操作来专门负责显示,以后需要显示的类都可继承自Entity类。比如Crop类的父类就是Entity。 问:为什么Soil类不继承自Entity类呢? 答:Soil类其本身并不负责显示,它的内部精灵只是指向了TMXTiledMap对象...

2018-12-04 15:12:39

阅读数:19

评论数:0

SDL农场游戏开发 3.StaticData类

前面说过,StaticData类负责管理程序在运行过程中不会发生变化的数据,如下为Resources目录结构: data文件夹保存着一些静态数据,比如crops.csv文件保存着作物信息,soils.csv文件保存着可扩展土壤所需要的等级和金钱。 1.外部文件 首先看一下crops.cs...

2018-12-03 21:02:43

阅读数:847

评论数:0

SDL农场游戏开发 2.地图与土壤层

本游戏的地图使用的是tiled这个软件导出的*.tmx(xml格式),地图类型是45度方向,以前曾经研究过45度与90度地图的区别,最后发现区别不是很大,主要在于图块的不同,90度地图的图块一般是矩形(正方形),而45度地图非透明图块一般是菱形。 本游戏地图共有以下几种图块:   用到的...

2018-12-02 16:15:57

阅读数:257

评论数:0

SDL农场游戏开发 1.环境搭建

由于我个人受到传统农场类游戏的熏陶,因此萌生出了开发一个类似于QQ农场的游戏。 本次游戏打着SDL的幌子(这么说自己真的好么),其实使用的是SDL_Engine,它是我闲暇时模仿cocos2dx而写的一个游戏框架。个人认为了解下SDL_Engine框架是有点用的(去掉了cocos2dx中精华的部...

2018-12-01 19:48:49

阅读数:273

评论数:8

SDL 简单文本的输入处理

这几天忙着局域网联机相关内容,俗话说,用到什么学什么(这什么俗话。。。),我大致分析了一下我的需求,大致如下: 游戏使用局域网联机,每个用户既可以当客户端,又可以当服务器,但服务器仅有一个,即房主。 服务器端显示IP地址。 客户端能输入IP地址和个人的名称,来尝试链接入服务器。 前两个在前面...

2018-11-25 17:08:33

阅读数:853

评论数:5

3.SDL2_net TCP服务器端和多个客户端 续

上一节缺少了tcputil的讲解,首先这几个函数都不是我写的,一部分是从SDL_net官网上下载的小例子,另一部分是找的github上的代码。 tcputil.h #ifndef tcputil_h #define tcputil_h 1 #ifdef WIN32 #else ...

2018-11-25 16:16:42

阅读数:19

评论数:0

2.SDL2_net TCP服务器端和多个客户端

上一节初步了解到了服务器和客户端的通信,并且由于受到代码的限制,只能是单个客户端,而且服务器无法向客户端发送信息,本节使用SDL_Net的套接字列表(Socket Set)特性来实现比上一节功能更强的代码,即一个服务器对应多台客户端。 一.项目结构CMakeLists.txt的编写 上一节客户...

2018-11-24 21:36:52

阅读数:20

评论数:0

1.SDL2_net TCP服务器端和客户端的通信

这几天打算把以前做的游戏尝试加入局域网联机,恰巧SDL提供了对应的库,即SDL2_net。 1.安装 我的系统是ubuntu,安装相对简单,下面一个命令即可: sudo apt install libsdl2-net-dev 等待安装完成即可。 如果使用的是window,可以去官网下载...

2018-11-22 11:10:58

阅读数:20

评论数:0

简单爬取github下载链接

这几天在看《python3 网络爬虫实战》,里面用到了tesseract和它对应的语言包,为了避免使用这个库出错,我就开始在github上下载对应的语言包,但是无论是使用浏览器,还是wget下载,都会在下载一大半的时候出错,于是萌生了一个分开下载的念头。转念一想,自己手动根据链接下载比较简单,但是...

2018-10-27 19:58:53

阅读数:98

评论数:5

ubuntu-shell 简单地单文件编译

最近在学习OpenGL(OpenGL超级宝典和OpenGL编程指南),于是就照着书中的例子编写,由于是单文件,所以也没必要为每个文件写一个makefile文件或者cmake文件,那直接在命令行敲好了 gcc Triangle.cpp -o Triangle -lGL -lGLU -lm 很简...

2018-10-02 11:31:51

阅读数:43

评论数:0

OpenGL SuperBible中的glew和GLTools库

这些天开始研究OpenGL,就买了本OpenGL超级宝典和OpenGL编程指南两本书,(有人说编程指南不适合初学者,超级宝典的翻译太烂),兴高采烈地打开超级宝典的书,发现依赖了各种库,依赖glut库尚能接受,毕竟OpenGL只是负责绘制而已,glew也勉强接受,但又要有GLTools,稍微看了下,...

2018-10-02 08:55:06

阅读数:62

评论数:0

RPG游戏制作-08-为lua注册c/c++函数

接下来,就可以注册c函数给lua使用了。本游戏中把不同种类的函数集合成各种各样的模块,就类似于lua中的math模块io模块。目前的模块如下: 1.base模块,注册了一些常用的基础函数。 2.movement模块,移动函数,场景切换函数等。 3.screen模块,场景相关函数,如淡入淡出函...

2018-09-16 19:18:40

阅读数:26

评论数:0

RPG游戏制作-06-与NPC的交互

脚本触发方式分为Touch和Click,上一节实现了Touch,接下来实现Click。由于本游戏使用的是鼠标/手指来操纵人物,不存在什么虚拟摇杆,因此如果想要实现Click的话,就需要点击NPC,之后角色根据A星算法得到的路径行走,在NPC面前停下,然后对应NPC调用execute(),来调用对应...

2018-09-16 19:18:32

阅读数:71

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭