如果只显示像素点代表角色是可以完成的,滑动只需要把图片放大,如果需要显示更细节的东西可以模仿3D游戏一样根据距离显示不同像素的贴图,这里的距离就可以用缩放大小来判断,位置就用屏幕上对应的点位置,当然你也可以用一张贴图,不过显示效果就不好说了
减少卡顿可以用分帧加载,从屏幕中心向外更新,屏幕外的不更新,最好的更新屏幕时间是用户滑动后停顿的时间,如果在滑动就停止更新画面,直到滑动停止
帅,完美方案
挖坟是吧。
补充,其实还是伪需求,只不过这个伪需求,不是指策划伪需求,而是程序伪需求
- 如果画面是白色的,那我完全可以只生成一个白色图片,当用户点击时,生成点击点的色块即可。(当然,还可以优化下,可以提前生成一点)
- 如果画面是图形的,原理一样,可以生成一张图,点击再生成色块。
总之,动不动一个特别大数字的功能,首先要考虑是不是“伪需求”
模仿reddit的像素画活动吗,虽然是1000X1000的大小,但压力主要在服务器吧,对前端来说比较简单:
- 从服务器取一张当前状态的texture
- 服务器增量推送所有玩家实时修改的汇总
- 前端把增量绘制到当前画布上
你只需要管理每个像素的值,并动态更新纹理,然后赋给一个Sprite就行了。用1*1的Sprite表示一个像素,一看就是萌新宝宝
赞同这个思路。
用着色器不就好了吗