原创 SDL遊戲開發之五-解析並使用GIF

在遊戲開發中,使用的圖片一般情況下的格式爲PNG,在我看來PNG有着以下幾個好處: 不錯的壓縮比 alpha通道(支持透明) 無損壓縮 以上的幾個特性使得PNG在遊戲開發中大放異彩。另外,主流就是使用PNG+TexturePacker,把

原创 雲服務器下docker部署scrapyd之二:使用Nginx對Scrapyd添加驗證

前一篇帖子(雲服務器下docker部署scrapyd)中介紹瞭如何把Scrapyd容器化,並部署在雲服務器中。但是並沒有添加用戶驗證,也就是說,如果該Scrapyd是可以任何人訪問的,那麼只要知道IP地址和端口,總會有人想拿它做壞事,比如

原创 SDL遊戲開發之六-簡單的SDL程序

1.最簡單的SDL程序 一般的遊戲在運行過程中的大部分操作都是在一個大循環裏,在這個循環裏進行着事件監聽、繪製以及邏輯處理等。而像網絡通信或者是文件讀取等這些比較耗時或者堵塞的操作一般會放到子線程裏面。流程圖如下: 圖1-遊戲流程圖  

原创 python下對文檔(*.docx)和表格(*.xlsx)的簡單操作

1. 根據模板批量生成文檔 想要運用python來編輯word是有些難度的,主要是因爲文檔涉及到的因素比較多,僅僅是字體就有顏色、大小、加粗等等屬性,這也就造成了使用python“無中生有”一個文檔的困難性。 這裏推薦一個使用模板批量生成

原创 [學習筆記]神經網絡之二:使用Bert進行二分類

本篇記錄一下如何使用bert進行二分類。這裏用到的庫是pyotrch-pretrained-bert,原生的bert使用的是TensorFlow,這個則是pytorch版本。 本篇文章主要參考了基於BERT fine-tuning的中文標

原创 無監督學習 k-means算法

一、無監督學習 無監督學習是機器學習算法中的一種。監督學習的目的主要是對數據進行分類和迴歸預測,它主要是通過已知推測未知,大部分監督學習算法有一個訓練模型的過程;相對於監督學習,無監督學習則是主要着重於數據的分佈特點,與有監督學習不同,無

原创 [學習筆記]神經網絡之一:簡單實現一個神經網絡

這幾天開始學習神經網絡,本帖爲我在讀完《Python神經網絡編程》後的一個總結,因爲我是神經網絡的初學者,當出現一些錯誤或者說法不當時,請多多指正。 本文的目的是使用二層神經網絡(輸入層、隱藏層和輸出層,輸入層一般只是負責輸入)來實現對手

原创 SDL遊戲開發之一-SDL的簡介

本教程爲一個長系列,旨在於從零開始邊學習SDL邊開發遊戲。 一.什麼是SDL? SDL(Simple DirectMedia Layer)是一套開放源代碼的跨平臺多媒體開發庫,使用C語言寫成。SDL提供了數種控制圖像、聲音、輸出入的函數,

原创 SDL遊戲開發之三-瓦片地圖

一.瓦片地圖 1)瓦片地圖簡介 瓦片地圖(Tiled Map),又稱爲瓷磚地圖,是在遊戲開發中經常使用到的技術,它是由少量的尺寸相同的、小的瓦片圖片拼接而成的很大的地圖。相對於使用一張張圖片來繪製地圖而言,瓦片地圖不僅大大地節省了內容,而

原创 SDL遊戲開發之二-配置開發環境

一般情況下,在任何一個計算機語言中要使用第三方功能時,都需要配置環境,SDL同樣如此。 在我一開始學習的時候對環境配置是深惡痛絕的,稍微出錯都會影響學習積極性。但不得不承認,環境的配置一般都是第一件要做的事。 一.爲什麼要進行環境配置?

原创 SDL遊戲開發之四-卡馬克卷軸

上一篇實現了瓦片地圖的繪製,但是單純地使用上面的代碼還是有些問題的,下面就來討論一下單純使用瓦片地圖的侷限性。 假設遊戲的分辨率爲960*720,瓦片地圖的大小也是960*720,瓦片大小爲32,那麼960/32 = 30, 720 /

原创 雲服務器下docker部署scrapyd之一:Scrapyd的容器化

一.部署前的準備 在開始部署之前,先梳理一下幾個關鍵詞: 1.Scrapy Scrapy是一個基於Twisted的異步處理框架,是純Python實現的爬蟲框架。Scrapy由Spider、Middleware、Downloader、Pip

原创 visual studio 2017 常見問題

前些天轉戰ubuntu平臺,爲了方便代碼的管理而把代碼託管到了github上。然後今天在windows平臺下的時候就出現了各種問題。 問題1:操作系統差異 windows下的換行符是\r\n,而linux下的換行符是\n;另外就是一般情況

原创 python實用小工具之一:BMFont位圖導出腳本

在遊戲開發中,尤其是對於移動端的遊戲開發來說,直接使用TTF來進行渲染是非常消耗資源的;而且一般的遊戲用到的字的個數都是有限的。針對以上幾個弊端,就有人按照着活字印刷術的原理來設計了一個在遊戲中常用的位圖導出工具,比如windows下的b

原创 python3 開發之一:classmethod和staticmethod

1.staticmethod 對於一般的計算機語言,都會提供靜態方法,這個方法可以認爲是類的方法。即可以直接 類.方法(),也可以通過類的實例,也就是對象.方法()進行調用。就靜態方法這方面來說,python語言和其他提供了靜態方法的語言