【发布时间】:2021-10-25 11:26:27
【问题描述】:
我要为我正在制作的游戏创建地图,我不知道该怎么做。有人可以给我一些指导或提示吗?谢谢! (我使用的库是 Processing。)
这是我的想法:
写一个txt文件来表示地图,例如:
AAAAAAA
A A
A B A
A A
AAAAAAA
//A represents trees; B represents the player; space represents grass
每个字母代表一个 20*20 像素的图块(png 图片)。我不知道如何实现这样的事情......
我试过用loadImage()来加载每个图块,但是我只能将它们一个一个地放在特定的位置(编码很多......)效率很低......
编辑:
感谢所有cmets!我有一些想法,但坚持如何获取每行的字符索引。
我在网上搜索了很多,发现 indexOf() 会找到索引,但只能找到第一个。
例如,上面的txt文件使用index = line.indexOf("A");,它只会找到每行第一个“A”的索引。有什么方法可以解决这个问题吗?
【问题讨论】:
-
您可以使用字典之类的东西来存储键->值对,其中键是地图的字符,值是 png 文件的路径。然后您可以逐行迭代您的 txt 文件,读取每个字符并使用您的字典检索每个图块的路径。
-
可以读取txt文件,使用当前行读取的字符数乘以纹理的宽度作为loadImage()的X坐标,读取的行数乘以纹理的高度作为 Y 坐标。因此,遍历 txt 文件的所有字符,您将执行以下操作: //Text file loop { PImage img; img = loadImage("shells.jpg");图像(img,characterIndex * img.width,linesRead * img.height); }
-
不完全是您问题的答案,但另一个 js 框架已经这样做了,即kaboom.js。您绘制地图并为您在地图中绘制的每个随机角色添加一个精灵。它是开源的,因此您可以窃取创意
-
@66Gramms 非常感谢!我现在有了一些工作的想法,但我被困在如何在每行中获取字符索引......
标签: java processing