Posted By
|
Message
|
Noyb
Registered 31/05/2004
Points 1117
|
23rd June, 2005 at 20:14:54 -
After not doing any real kliking for months, I finally got back into working on Rocket Skater's engine. I fixed some movement and camera bugs, and replaced the pixelly 32 directions active object when rotating around poles with the silky-smooth Alpha Channel object. However, I see some graphical glitches when trying this approach.
Sometimes, when the character is pointing up or down, the Alpha Channel's character object's borders (as in what I declared as transparent, but still in the rectangular borders in the object) will flash white, causing the pole to flicker.
The pole-swinging is initiated in the following (slightly shortened) event:
Pole detector overlaps group 2 (pole) & group 2's alterable value A is 0 & character is either walking, jumping, or falling -> set group 2's alterable value A to 1 & do stuff to make character invisible and know that it's pole-swinging & rotate alpha channel to angle based on direction between group 2 and character & reposition alpha channel & make alpha channel reappear.
Even though I tell the alpha channel object to reappear after rotating and repositioning it, it still flickers briefly its last angle. What could be causing these graphical bugs?
MMF non-open source engine: http://bellsouthpwp.net/r/e/realnoyb/RSAlpha.zip
Engine Notes: Press space to jump, walljump, and let go of poles. Press "s" on the ground to go to beginning of demo (I started it in an area with three rotation poles for ease of bugchecking these problems). You fly off poles in the angle your body makes with the pole, not off in a perpendicular tangent as you would in real life. I might change that later.
"Omg. Where did they get the idea to not use army guys? Are they taking drugs?" --Tim Schafer on originality in videogames
|
Noyb
Registered 31/05/2004
Points 1117
|
25th June, 2005 at 22:41:55 -
Okay, I reread the help file of the Alpha Channel Object and found that the flickering borders is due to having rotations and/or animations while overlapping other objects, and can be easily fixed by unchecking the "Display as Background" box in the Alpha Channel Object's properties. However, I still cannot figure out why the object still momentarily flashes its previous rotated direction when I tell it to reappear in the code in the above post. Can anyone else?
"Omg. Where did they get the idea to not use army guys? Are they taking drugs?" --Tim Schafer on originality in videogames
|
Noyb
Registered 31/05/2004
Points 1117
|
29th June, 2005 at 16:08:01 -
Okay, I made an unprotected .cca file to demostrate my problem. Press up and down to rotate the arrow (an Alpha Channel Object), and space to toggle visibility. The problem I'm having is that when you give the alpha channel object a new angle, then make it reappear, it briefly flashes its previous angle. What is causing this and how can I fix it?
Example: http://bellsouthpwp.net/r/e/realnoyb/AlphaRotation.cca (24 kb MMF source. Requires Alpha Channel Object from Bonus Pack 2.)
"Omg. Where did they get the idea to not use army guys? Are they taking drugs?" --Tim Schafer on originality in videogames
|
Nuutti
Registered 26/10/2003
Points 1364
|
30th June, 2005 at 05:24:38 -
http://nuutti.afraid.org/jotainmuuta/AlphaRotationFixed.cca
why did you make it to get the angle only when it's visible? I fixed it by using "always".
~np.
P.S. sorry for my mangled english.
|
Noyb
Registered 31/05/2004
Points 1117
|
30th June, 2005 at 16:40:36 -
No! That was just an illustration of the problem in my game engine (link posted above if you need further explanation). When the platform character is close to a pole, then the character would start swinging around the pole. The character's active object (well, actually a set of linked actives) is made invisible, to be replaced with the alpha channel object. The initial angle of the alpha channel is set based on the direction between the pole and the character, then the alpha channel object is made visible again. The angle is calculated in the event where the alpha channel object is made visible again, thus my reasoning behind changing the angle only when it reappears in the example file. Thanks for providing the only helpful post, Nuutti, but it still doesn't fix my problem.
"Omg. Where did they get the idea to not use army guys? Are they taking drugs?" --Tim Schafer on originality in videogames
|
Fifth Quadruped
Registered 07/05/2003
Points 5818
|
30th June, 2005 at 17:29:53 -
So... now the only problem is that, when you change its direction and make it visible in the same action, it doesn't change its visible angle until after it reappears?
That's simple enough to fix. Just don't make it all happen in the same loop. Change the order of things!
Instead of:
1-action occurs, so
-change direction and make visible
have something like
1-if flag is on,
-make visible
2-action occurs, so
-set flag on
3-if flag is on,
-change angle
Therefore the direction will change one full loop before it becomes visible, and should give it time to get ready.
Go Moon!
|
Noyb
Registered 31/05/2004
Points 1117
|
30th June, 2005 at 18:28:40 -
It works! Thanks.
"Omg. Where did they get the idea to not use army guys? Are they taking drugs?" --Tim Schafer on originality in videogames
|
|
|