是否有一种方法可以将FlxCamera翻转到x轴?



setScale()也不工作。当有有趣的事情发生时,我打算把相机翻过来,但我不知道怎么做。

你可以用着色器翻转相机(并应用其他有趣的效果)!

FlxCamera有一个叫做setFilters()的功能,它允许你添加一个位图过滤器列表到一个活动的相机。

这是我写的一个简单的过滤器,可以水平翻转所有纹理:

import openfl.filters.ShaderFilter;
var filters:Array<BitmapFilter> = [];
// Add a filter that flips everything horizontally
var filter = new ShaderFilter(new FlipXAxis());
filters.push(filter);
// Apply filters to camera
FlxG.camera.setFilters(filters);

在单独的FlipXAxis类中:

import flixel.system.FlxAssets.FlxShader;
class FlipXAxis extends FlxShader
{
@:glFragmentSource('
#pragma header
void main()
{
vec2 uv = vec2(1.0 - openfl_TextureCoordv.x, openfl_TextureCoordv.y);
gl_FragColor = texture2D(bitmap, uv);
}')
public function new()
{
super();
}
}

最新更新