日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

love2d教程30--文件系统

發布時間:2023/12/1 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 love2d教程30--文件系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在游戲里少不了文件操作,在love2d里我們可以直接用lua自帶的io函數,如果不熟悉可以先讀一下我的lua文件讀寫。

相對lua,love2d提供了更多的函數, 方便我們操作文件。不過可能處于安全考慮,love2d只允許我們訪問兩個目錄:

  1、".love"文件根目錄,或源碼根目錄

  2、游戲存檔目錄

游戲存檔目錄在不同平臺分別為:

  • Windows XP:?C:\Documents and Settings\user\Application Data\LOVE\?or?%appdata%\LOVE\
  • Windows Vista and 7,8:?C:\Users\user\AppData\Roaming\LOVE?or?%appdata%\LOVE\
  • Linux:?$XDG_DATA_HOME/love/?or?~/.local/share/love/
  • Mac:?/Users/user/Library/Application Support/LOVE/

讀文件兩個目錄都可以,但是寫文件只能在存檔目錄。love會先查找存檔目錄,在查找love文件目錄。所以有相同文件在

存檔目錄和love文件目錄,會優先使用存檔目錄。(因為在存檔目錄里已經找到了,個人感覺這么做不符合綠色軟件)

注意:所有的路徑都是相對于love文件的相對路徑。(除了使用get*Directory()獲取的)

?存檔目錄可以在con.lu里設置t.identity="目錄名"或者用love.filesystem.setIdentity設置。

?wiki里的函數已經很詳細了,我就說一下注意事項。

love.filesystem.isFused(?)判斷love是否運行在沙盒模式,即getAppdataDirectory和getIdentity是同一目錄。

在沙盒模式下可以加載存檔目錄里的C動態庫。

love.filesystem.newFile()創建一個新文件,之后可以像lua里文件讀寫一樣操作文件,具體函數請看wiki

不過love里newFile()后得到的文件句柄,具有更多的操作,其中一個是setBuffer(),緩存模式BufferMode,

可以設置為none(立即寫入)、line(遇到換行符立即寫入,用在讀寫文本里)、full(要用flush函數顯示調用才行)。

?love.filesystem.newFileData(?contents, name, decoder?) 支持普通文件和base64加密后的文件

love.filesystem.load()加載lua文件到內存,但不執行,如果要執行可以加括號即love.filesystem.load(file)()。

love.filesystem.mount() 掛載zip文件,或者目錄,這個功能方便了我們打包資源。壓縮文件可以和love文件在同一目錄。

例如content.zip里有myimage.png,那么我們可以love.filesystem.mount("content.zip",?"content"),

這個操作會把content.zip里的文件讀入,并在love的搜索路徑里生成一個content的虛擬目錄,那么我們可以用
assert(love.filesystem.exists("content/myimage.png"))來判斷是否成功讀入。

?下面是用love的文件讀寫保存的示例,文件保存在存檔目錄。

main.lua

local canvas local dir function love.load()--dir=love.filesystem.getWorkingDirectory()--love.filesystem.setIdentity(dir) --不能把可寫目錄改變到love文件目錄print(love.filesystem.getIdentity())canvas = love.graphics.newCanvas(800, 600)love.graphics.setCanvas(canvas)canvas:clear()love.graphics.setColor(255, 0, 0)love.graphics.circle('fill', 400, 300, 100, 100)love.graphics.setCanvas()local data=canvas:getImageData()local size=data:getSize()data:encode( "aaaaaa.png", "png" ) --這樣保存的沒問題local success =love.filesystem.write("aaaaaa.bmp", data, size) --有問題print(success)local fileContent="5paw5bm05b+r5LmQ77yB" --base64新年快樂--這個文件名可以和寫入時不同,個人感覺這個文件名參數多余local fileData=love.filesystem.newFileData(fileContent,"aaaa.txt","base64")local success =love.filesystem.write("aaaabb.txt", fileData)print(success)endfunction love.draw()love.graphics.draw(canvas)end

?

轉載于:https://www.cnblogs.com/xdao/p/love2d-tutor30.html

總結

以上是生活随笔為你收集整理的love2d教程30--文件系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产美女黄网站 | 久久久久久久久久久久久久久 | 91精品国产麻豆国产自产在线 | 欧美jizz19性欧美 | 手机在线观看av | 国产精品蜜臀 | 亚洲精品~无码抽插 | 91国偷自产一区二区三区观看 | 特黄aaaaaaaaa毛片免 | 最近中文字幕无免费 | 九九热视频在线播放 | 成人午夜视频精品一区 | 久久久久久久久久久网 | 疯狂做受xxxx高潮人妖 | 日韩精彩视频 | 99精品久久毛片a片 成人网一区 | 亚洲综合二区 | 一级毛片基地 | 久热网 | 欧美一区二区在线播放 | 色四虎| 色亚洲视频 | 欧美热热 | 国产男同gay网站 | 国产你懂 | 中文在线观看高清视频 | 琪琪色在线视频 | 亚洲色妞 | 蜜桃av色偷偷av老熟女 | 日本少妇吞精囗交 | 精品人妻一区二区三区换脸明星 | 午夜a级片 | 成人自拍视频在线 | 在线观看亚洲免费视频 | 国产又黄又猛又爽 | 91社区视频 | 超碰网站在线观看 | 成年人网站黄色 | 性色av一区二区三区 | 激情四射网 | 日韩三级黄| 麻豆国产在线播放 | 黄色资源在线播放 | 国产性色视频 | 亚洲gay视频 | 亚洲精品男人的天堂 | 99爱视频在线 | 欧美成人91| 伊人春色在线 | 国产成人久久精品麻豆二区 | 国产视频xxxx | 欧美精品免费在线观看 | 日本少妇激三级做爰在线 | 亚欧美视频 | 免费日本视频 | av综合一区| 亚洲精品专区 | 香蕉大人久久国产成人av | 找av导航 | 日本三级一区 | 久久九九国产视频 | 一本大道东京热无码aⅴ | 久草成人在线 | 日本黄色免费观看 | 日韩福利视频网 | 激情视频亚洲 | 在线观看日韩欧美 | 国产乱人视频 | 欧美日韩在线不卡 | 欧美精品大片 | 97超碰免费 | 国产精品jizz视频 | 黄色永久免费网站 | 亚洲成人看片 | 成人黄色激情视频 | 欧美日韩一区二区中文字幕 | 国产91精品一区二区麻豆亚洲 | 一级黄色片在线观看 | 91爱爱视频| 欧美激情一区二区三区在线 | mm1313亚洲国产精品无码试看 | 337p日本欧洲亚洲大胆张筱雨 | 黄网av | 女人的av | 亚洲在线播放 | 电影《两个尼姑》免费播放 | 波多野结衣中文字幕一区二区 | 国产精品亚洲AV色欲三区不卡 | 久久久久爱 | 亚洲九九夜夜 | 精品国产一区二区三区在线 | 激情超碰在线 | 成人夜视频 | 黄色一级大片 | 亚洲久久影院 | 日本青青草视频 | 99操| 香蕉色视频 | 久久精品国产免费看久久精品 |