您好亲爱的StackOverflow社区!
这是我在网站上的第一个问题,所以我希望我能够清楚。此外,我是一个法国人,我提前为语言错误道歉!
让我解释一下我的情况(我想要准确,所以它会有点长):
我目前正在我的大学实习。这是主题:我的老师基于图像处理制作了一个2D严肃游戏,每个玩家(最多4个)必须替换动物每个部分的正确颜色。她使用Visual Studio的XNA框架来完成它。 我的任务是使用Javascript技术开发这个游戏的新版本,特别是Pixi.js。
游戏的工作方式如下:应用程序的主要容器分为4个区域,每个玩家一个;这些区域中的每一个都使用我从玩家选择的动物的灰度图像创建的精灵来设置其背景。屏幕的中心是一个由Sprites数组表示的调色板。从此,我可以拖动n'将颜色拖放到动物精灵上,代表其身体一部分的区域检测掉落。一切正常,直到这里,但这是我遇到困难的地方。
我想改变对应于该区域的像素的色调。这些像素的位置记录在我从文本文件创建的数组中,这就是我如何检测哪个区域接收颜色。
我已经尝试使用Pixi中的Graphics对象重绘Sprite上方的颜色,但速度非常慢。我也尝试使用Filter,但由于我只想为一些像素而不是整个Sprite着色,我需要将(使用制服)位置数组传递给我的WebGL着色器,以使其验证每个像素是否属于那些我想改变的人。但着色器需要我声明这个数组表明它的大小。我不能这样做,因为每个区域都有不同的像素数。
我现在被封锁了,我不知道如何执行我想要的......
有没有任何解决方案并不意味着在几个精灵中分离我的形象?我认为它会起作用,但如果有另一种方式,让我避免这种情况,我会非常感激!
提前致谢,对不起,这条消息太长了!