By the way, if you create your world with "super(500, 600, 1, false);" instead of "super(500, 600, 1);", you can make the walls appear outside the visible world and then scrolling inside. This way they won't appear that unrealistic.
I did not only see this problem in your FB-remake.
Danke für deine Mühe!
Es hakt nun in der Tat nicht mehr.
Probleme, die auftreten:
- das Bild light.png. Es sollte nicht nach außen hin schwächer werden, sondern konstant hell. Einheiten und Gebäude haben bei mir auch einen unterschiedlichen Sichtradius. Ich habe keinen Schimmer, wie ich das Bild gescheit ändern könnte.
Bei mehreren Glow-Objekten überlagert sich das dann hier und ist heller (bzw. durchsichtiger) als bei einem einzelnen. Außerdem verschwindet es natürlich sofort, wenn die Einheit, also das Glow-Object stirbt oder weiterläuft. Du kennst es sicher von einigen Strategiespielen, dass man Gegenden noch eine Weile sieht, bevor sie wieder im Schatten verschwinden. Also ziemlich genau so, wie es bei mir war bzw. im Moment ist (siehe mein Szenario "Insect War"). Da überlappt sich auch nichts, alles läuft so, wie es sollte. Das einzige Problem, dass ich versuchte zu lösen, war, dass der Schatten nicht aus 5x5 großen Quadraten bestehen soll, was hier in deinem Szenario von dir umgesetzt wurde.
Ich bekomme es allerdings mit deiner Variante nicht so übertragen, dass Gebiete weiterhin eine Weile sichtbar bleiben und dann wieder dunkler werden. Was mir dazu einfallen würde, ist ständig bei jeder Bewegung ein neues Objekt spawnen zu lassen, dass das Bild noch etwas aufrecht erhält, aber das würde wieder zu großen Haken führen und immer noch nicht funktionieren, da die Bilder sich dann ja trotzdem überlappen.
- Manchmal bekomme ich auch eine Fehlermeldung, wenn eine Einheit stirbt, allerdings auch nicht immer:
Exception in thread "Thread-1107" java.lang.IllegalStateException: Actor not in world. An attempt was made to use the actor's location while it is not in the world. Either it has not yet been inserted, or it has been removed.
at greenfoot.Actor.failIfNotInWorld(Actor.java:663)
at greenfoot.Actor.getX(Actor.java:157)
at Darkness.updateImage(Darkness.java:107)
at Darkness.access$600(Darkness.java:14)
at Darkness$1.run(Darkness.java:70)
Was ist überhaupt ein Interface und wie(so) nutzt man es?
@Busch:
Hab es jetzt mal ausprobiert. Habe das Implementieren einigermaßen hinbekommen, allerdings bringt es mich nicht weiter, da dadurch das Spiel extrem hakt. In etwa so, als wenn ich bei meiner Version auf jeden Pixel ein Objekt der Klasse "Schatten" setze. Hier in diesem Szenario ist nur ein Objekt, dass sich bewegt und selbst hier läuft es nicht mehr ganz flüssig. Bei Dutzenden Einheiten war es nicht wirklich verwunderlich, dass es dann hakt. :)
@Kartoffelbrot:
Das ist im Grunde keine schlechte Idee, hat aber einen Haken. Ich kann den Wert vermutlich irgendwie auf transparent setzen, wenn eine eigene Einheit in die Nähe kommt, doch ist es, denke ich, nicht möglich, jeden Pixel wieder undurchsichtig zu machen, wenn eine gewisse Zeit lang keine eigene Einheit in der Nähe war.
Liebe Grüße
Hippo
Das würde sicher auch wieder Probleme bereiten. Bei mir ist die Schattenklasse unter den Gebäuden und Einheiten. Hatte ich zuerst nicht so, aber das muss so sein, damit man die Gebäude sehen kann, wenn man sie einmal entdeckt hat. Dann setze ich einfach die Transparenz der Einheiten auf die Transparenz des Schattens unter sich. Hier gibt es ja keine Transparenz an einer Stelle, die man abfragen kann. (Glaube ich zumindest.)
Ich verstehe eigentlich gar nichts von seinem Code. Ich nutze für mein eines Spiel einfach ganz viele Schattenobjekte, die wie ein Raster in der Welt liegen. Eventuell langsamer, aber zumindest kann ich damit umgehen. Hier in der Klasse Darkness sind mir viel zu viele (um nicht zu sagen "fast alle") Methoden unbekannt.
Yes, I already saw this, but I did not say that I wanted to do it. I don't have enough time to start a new project right now. I will finish the one I am working on and then I will probably won't have time for Greenfoot for one or two month.
I said it in case someone needs an idea to work on. ;)
2014/2/24
Expedited Shipping
2014/2/23
Expedited Shipping
2014/2/22
Flappy Bee - just another flappy bird remake!
2014/2/7
Darkness More Objects
2014/2/3
Darkness More Objects
2014/2/2
Darkness More Objects
2014/1/27
Darkness More Objects
2014/1/26
Darkness More Objects
2014/1/19
Kara Hexoban