【问题标题】:Is there a way to be able to flip an FlxCamera to the x axis?有没有办法将 FlxCamera 翻转到 x 轴?
【发布时间】:2021-06-06 01:20:18
【问题描述】:

setScale() 也不起作用。 当有趣的事情发生时,我打算翻转相机,但我不知道如何。

【问题讨论】:

    标签: camera haxe haxeflixel


    【解决方案1】:

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

    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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2021-04-14
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      • 2022-08-14
      相关资源
      最近更新 更多