سؤال

I have a sprite created through new PIXI.Sprite.fromImage(path), how can I increase the brightness of it in realtime?

هل كانت مفيدة؟

المحلول

You can do this using the PIXI ColorMatrixFilter:

var colorMatrix =  [
    1,0,0,0,
    0,1,0,0,
    0,0,1,0,
    0,0,0,1
];
var filter = new PIXI.ColorMatrixFilter();
filter.matrix = colorMatrix;
stage.filters = [filter];

Darker:

var colorMatrix =  [
    1,0,0,-0.5,
    0,1,0,-0.5,
    0,0,1,-0.5,
    0,0,0,1
];

Lighter:

var colorMatrix =  [
    1,0,0,0.5,
    0,1,0,0.5,
    0,0,1,0.5,
    0,0,0,1
];

See a quick demo here: http://codepen.io/ianmcgregor/pen/LcjBw

نصائح أخرى

PixiJS API Documentation: PIXI.filters.ColorMatrixFilter

let filter = new PIXI.filters.ColorMatrixFilter();

// Darken
filter.matrix = [ 
    1, 0, 0, 0, -0.25, 
    0, 1, 0, 0, -0.25, 
    0, 0, 1, 0, -0.25, 
    0, 0, 0, 1, 0
]; 

// Lighten
filter.matrix = [ 
    1, 0, 0, 0, 0.25, 
    0, 1, 0, 0, 0.25, 
    0, 0, 1, 0, 0.25, 
    0, 0, 0, 1, 0
];

container.filters = [filter];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top