kmilinho Posted October 12, 2015 Share Posted October 12, 2015 Hello, I have a function for playing videos on my game. It works fine, except if I play the same video again, in this case, it just draw like the first frame (or the last) as an simple image and the video never plays. Differents videos are played without problem. State.MainState.prototype.playVideo = function(video, posX, posY){var video = new Phaser.Video(game, video);var img = video.addToWorld(posX, posY, 0, 0 , 0.8, 0.8);var fragmentSrc = ["precision mediump float;","varying vec2 vTextureCoord;","uniform sampler2D uSampler;","void main(void) {","vec2 v1 = vTextureCoord;","vec2 v2 = vTextureCoord;","v1.y = vTextureCoord.y;","v2.y = vTextureCoord.y - 0.5333;","vec4 tex1 = texture2D(uSampler, v1);","vec4 tex2 = texture2D(uSampler, v2);","if(vTextureCoord.y > 0.5315)","gl_FragColor = vec4(tex1.r, tex1.g, tex1.b, tex2.r);","}"];var filter = new Phaser.Filter(game, null, fragmentSrc);img.filters = [ filter ];var s = new Phaser.Signal();s.add(function(){video.destroy();img.destroy();});video.onComplete = s;video.play();}; Link to comment Share on other sites More sharing options...
Recommended Posts