Ich stoße auf einen seltsamen, sehr schwierig zu reproduzierenden Grafikfehler in einem Flash-Videoplayer !, bisher nur in Chrome.
Das graue Rechteck unter "Enter the building" zeigt die Hintergrundfarbe des HTML-Divs, in dem der Flash-Player sitzt. Unter dem Link "Where are we" gibt es einen kleineren. Dies sind Sprites (die mehrere andere Sprites und Anzeigeobjekte enthalten) mit einer animierten Hover-Animation (sie bewegen sich langsam zu einem zufälligen Punkt, der einen bestimmten Bereich ihres Ursprungs aufweist). Der Glitch ändert sich mit ihnen und verschwindet manchmal.
Was ist das seltsamste, das die gesamte Flash-Komponente durchschaut? Ich habe diesen Code Wird ausgeführt, wenn der Videoplayer erstellt wird:
%Vor%Es sollte also eine helle Farbe auf der Rückseite des Videoplayers sein, und ich habe bestätigt, dass es da ist, wenn ich den Videoplayer nicht lade. Allerdings wird diese helle Farbe nicht angezeigt, sondern das Hintergrund-Div, das den Player enthält, scheint durch.
Das macht absolut keinen Sinn für mich ... und ich habe keine Ahnung, wie man das debuggt. Alles, was ich weiß ist, dass das Aussehen des Glitch hängt davon ab, wo die Text-Links auf dem Bildschirm schweben.
Der Flash ist in WMODE transparent geladen, was wir brauchen, weil er auf der Seite, die halbtransparent ist, einen erweiterbaren "Flügel" hat.
BEARBEITEN:
es ist live auf www.48hourgames.com. Sobald Sie ein Konto erstellt haben, sehen Sie den Videoplayer, der mit dem obigen Screenshot endet.
Dies ist ein Problem mit dem Pepper Flash Player. Adobe und Google arbeiten schon seit geraumer Zeit daran, wie sie Flash am Leben halten und auf der Linux-Plattform arbeiten wollen.
Pepper Flash ist leider sehr fehlerhaft. Irgendwann im Sommer dieses Jahres wurde Pepper Flash zum Standard-Flash-Plugin in Chrome für alle Betriebssysteme. Es gibt viele Probleme, für die es keine wirklichen Lösungen gibt, außer dass es deaktiviert wird (und hofft, dass Adobe / Google sie anspricht).
Um Pepper Flash zu deaktivieren:
Ich konnte das Problem sehr zuverlässig reproduzieren. Ein paar Ideen:
wmode transparent
sind möglicherweise wiederkehrend problematisch. Vielleicht könntest du das Flash Element mit 100% Breite versehen und einen nahtlosen Hintergrund in den linken / rechten Rändern machen. In Flash können Sie verhindern, dass Ihr Inhalt über stage.scaleMode = StageScaleMode.NO_SCALE;
skaliert wird. Wenn der Flash die ganze Breite durchbricht, könntest du wmode transparent
loswerden und es könnte gut sein, zu gehen. cacheAsBitmap
auf true
für Ihre zwei Schaltflächen einzustellen, die den Film überlagern? cacheAsBitmap
auf true
für den Film gesetzt wird, wenn dieser Endzustand erreicht wird? Wenn diese nicht funktionieren ... verzweifelter werden.
wmode transparent
" verlieren und der Fehler wird möglicherweise nicht im Seitenmenü angezeigt. ExternalInterface
-Klasse ( Details Da ich keinen Code zum Testen habe, sind das alles ein paar Aufnahmen im Dunkeln .
Ich würde mit den cacheAsBitmap
verwandten Ideen beginnen. Dann gehe auf die PNG-Ideen (Buttons, letzter Frame). Versuchen Sie von dort aus die Vollversion des Flash-Elements. Wenn diese nicht funktionieren, sollten Sie ein neues Design in Betracht ziehen. Wenn das keine Option ist, würde ich das Seitenmenü mit Variationen aufteilen, wie oben beschrieben.
Ich habe dieses Problem heute mit dem neuesten Flash Player Version 11.6 + Chrome 27. In einigen Computern funktioniert es, in einigen anderen nicht, das macht es sehr schwierig, das Problem aufzuspüren, weil es nicht auf meiner Seite passiert.
Ich glaube, das ist ein Flash-Bug, nicht Chrom, denn wenn ich mit der rechten Maustaste klicke - & gt; Vergrößern, Rechtsklick - & gt; Verkleinern Sie die schmutzigen Flecken verschwinden
Also sah ich mich nach einer schmutzigen schnellen Lösung um.
Ausprobiert cacheAsBitmap Methode: funktioniert nicht (dieser Fix funktioniert für "Schwarz, wo Transparenz" -Problem, aber nicht für dieses Problem).
Versucht die zwei Bilder -Methode: funktioniert nicht (nicht sicher warum)
Ich habe endlich einen Weg gefunden, das zu reparieren (mehrfach getestet):
Da die schmutzigen weißen Flecken nur dann auftauchen, wenn die Animation aufhört, setze ich einen transparenten Tween-Clip auf die Bühne und lasse ihn für immer laufen . Und es funktioniert.
p / s: Eigentlich habe ich versucht, das als Kommentar anstatt als Antwort hinzuzufügen, aber ich kann keinen Weg finden, es ist komisch.
Ich habe dieses Problem heute bei Google Chrome 31.0.1650.63 beim Spielen meines Puzzlespiels festgestellt. Normalerweise benutze ich diesen Browser nicht, daher sollte Flash in jedem Browser genauso funktionieren. Daher war ich ein bisschen überrascht, von weißen Rechtecken zu hören, die über mein gesamtes Spiel verteilt sind. Das Problem wurde durch Setzen von wmode auf undurchsichtig statt transparent behoben.
auch hier, in meinem Videoplayer.
nur in chrome pepper flash, und nur wenn die swf mit transparentem wmode eingebettet ist.
Heute habe ich einen Fix / Workaround / Hack im Web gefunden, mit dem ich leben kann:
"Wenn Sie dieses Problem mit einem einfachen Hack umgehen möchten, können Sie einen MovieClip zeichnen, bei dem es sich um eine transparente Füllung handelt. Und bei jedem Rahmen wird die Eigenschaft 'alpha' angezeigt. Da die Füllung transparent ist, ist sie die Eigenschaft 'alpha' macht nichts, außer erzwingt ein Vollbild-Redraw, um die Alpha-Eigenschaft des MovieClips zu aktualisieren, was wiederum ein fehlerhaftes Rendering behebt, da wmode transparent ist.
Wenn Sie moueEnabled = false hinzufügen, stellen Sie sicher, dass der Hack keine bestehenden Mausereignisse beeinträchtigt.
%Vor%"
Quelle: Ссылка
Tags und Links flash google-chrome visual-glitch