Posted By
|
Message
|
slepren
Registered 10/03/2005
Points 33
|
22nd July, 2009 at 01:16:40 -
Hi all,
I've been working on a platform game based off of a fastloop engine, but I can't seem to figure out how to make power ups. The main example I have is making a double jump unlockable after collecting a power up for it. Can somebody please point me in the right direction?
Thanks
n/a
|
OMC What a goofball
Registered 21/05/2007
Points 3516
|
22nd July, 2009 at 01:26:57 -
Well a solution won't be universal since you're using a custom movement. It depends on how the jumping is setup. If it's something quite so simple as setting a counter to a value to make him jump, then all you have to do is something like:
Character collides with powerup blob
>>Set character alterable Value A (Or whatever) to 1.
{Code to check whether character is already jumping/falling}
+Character Value A = 1
+Character Value B (or whatever) = 0
+Player presses jump key
>>Set counter to appropriate value again
+Set character alterable value B to 1
Player collides with obstacle
>>Set character alterable Value B to 0
That's not very specific but I think (unless I'm utterly wrong) that we'll need more details to help any further. Powerups are simply a matter of programming the capabilities, and then adding conditions that check to see if the appropriate value has been set after the collectable thing was collected.
Edited by OMC
|
GamesterXIII
Registered 04/12/2008
Points 1110
|
22nd July, 2009 at 02:17:32 -
You could use an inactive group to activate double jumping in order to keep things a bit more organized and easily accessible.
n/a
|
slepren
Registered 10/03/2005
Points 33
|
22nd July, 2009 at 02:24:08 -
Thanks...you gave me an idea that worked out for me.
n/a
|
slepren
Registered 10/03/2005
Points 33
|
22nd July, 2009 at 03:10:14 -
My idea worked, unfortunately it negated the velocity sensitivity of the jump "pre-double jump"
The engine is based off of DavidN's fastloop tut.
I added a new alt value to "Player" called "double jump", and also made an active object "power up" and gave it the "collectibles" qualifier.
"Double jump" = 0 --- set "Jump count" to 3 (since 0-2 are used)
"Player" overlapping "group.collectibles" --- set "double jump" to 1 + set "jump count" to 0 + destroy "power up"
What can I do to keep the velocity sensitivity until the "power up" is collected?
n/a
|
GamesterXIII
Registered 04/12/2008
Points 1110
|
22nd July, 2009 at 05:52:14 -
Kind of hard to understand, I think it would be a lot easier if we saw more code. Any possible chance you cold post a small example file that we could edit for you?
Heres how I usually do simple double jumps
Player is falling
+ Pressing Jump
+ player "Double Jump" Value = 0
- Set player "Double Jump" Value to 1
- Make player Jump (Whatever condition you use whether its a variable/counter/flag etc)
- Set player "Jump Strength" Value to X
Player is on the ground
- Set player "Double Jump" Value to 0
You could place all of the above code in an inactive group then
Player collides with double jump powerup
- Condition (window explaining double jump etc. whatever)
- Activate Double Jump group
Even though this is pretty much common/basic knowledge, I usually don't show people my exact methods of doing things (I'm uptight/OCD about it for some reason) so consider yourself lucky
Edited by GamesterXIII
n/a
|
slepren
Registered 10/03/2005
Points 33
|
22nd July, 2009 at 07:01:32 -
Thank you very much. I will try to implement something like this.
The problem that I am running into is that the "jump count" vars 0(standing on backdrop),1(mid jump, jump again) are used for the actual double jumping. Then I implemented "Double Jump" and set "jump count" to 3 when "Double jump" is = 0 so MMF would bypass the actual double jump movement and see "jump count" as null. But this messes up the velocity sensitivity. So I tried setting the "jump count" and "Double jump" alt vars the opposite way and it negated the "post" power up velocity sensitivity.
n/a
|
GamesterXIII
Registered 04/12/2008
Points 1110
|
22nd July, 2009 at 15:40:10 -
I think you're taking a more difficult path to a simple solution.
It still seems like you are leaving out vital information that is needed to help you fix your code.
try changing your code like so
Double Jump = 0
+ Player is not standing on backdrop - add this
- set jump count to 3
Player is standing on backdrop
Set Jump Count to 0
That way your jump count is 0 when standing and 3 when jumping, as long as double jump isn't an active powerup.
can you recreate a small app with just the jumping/double jump system implemented so I can take a look?
n/a
|
slepren
Registered 10/03/2005
Points 33
|
22nd July, 2009 at 19:54:54 -
There was one line of code that inhibited the velocity sensitivity which looked like this:
+JumpCount("Player")=1
and after scouring the code and going crazy I found that and removed it. That completely fixed my problem.
I do very much appreciate everyone's help. I will definately be posting other questions.
Thanks
n/a
|
|
|