Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email
?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Home
About
Team
Rules
Stats
Status
Sitemap
Chat
Downloads
Forum
News
Our Projects
Major Community Projects
Recent Posts
Unread Posts
Replies
Tools
SourceCoder3
Other Things...
Omnimaga Radio
TI-83 Plus ASM File Unsquisher
Z80 Conversion Tools
IES TI File Editor
Free RAM areas
Comprehensive Getkeyr table
URL Shortener
Online Axe Tilemap Editor
Help
Contact Us
Change Request
Report Issue/Bug
Team
Articles
Members
View the memberlist
Search For Members
Buddies
Login
Register
Omnimaga
»
Forum
»
Calculator Community
»
TI Calculators
»
Axe
(Moderator:
Runer112
) »
Stages and Collision
« previous
next »
Print
Pages:
1
2
[
3
]
4
Go Down
Author
Topic: Stages and Collision (Read 17596 times)
0 Members and 2 Guests are viewing this topic.
epic7
Chopin!
LV11
Super Veteran (Next: 3000)
Posts: 2200
Rating: +135/-8
I like robots
Re: Stages and Collision
«
Reply #30 on:
November 17, 2011, 08:31:16 pm »
You can learn it... but you cant? I think bullets are pretty easy, personally
Logged
hellninjas
LV7
Elite (Next: 700)
Posts: 625
Rating: +17/-0
Re: Stages and Collision
«
Reply #31 on:
November 17, 2011, 08:35:28 pm »
Well im the softmore at my school who has been programming in Basic for the past few years and placing games onto other peoples calcs, yet, none of my games have bullets...
But back to the topic... (Help with Bullets now...)
«
Last Edit: November 17, 2011, 08:38:35 pm by hellninjas
»
Logged
parserp
Hero Extraordinaire
LV10
31337 u53r (Next: 2000)
Posts: 1455
Rating: +88/-7
The King Has Returned
Re: Stages and Collision
«
Reply #32 on:
November 17, 2011, 09:01:27 pm »
ok, so you need some help?
I've never done this before, so here goes:
have a var to see which way player/gun is facing (so bullet goes in right direction)
when you press a key, a variable is created (direction) and the bullet is drawn at the gun's X,Y coords.
then, every loop, the bullet's position is added/subtracted from depending on which way gun is facing- thus creating the illusion it is being "shot"
Ah! it's 7:00! I gtg! bbl!
Logged
ticalc.org
|
Cemetech
|
TI-Freakware
|
casiocalc.org
epic7
Chopin!
LV11
Super Veteran (Next: 3000)
Posts: 2200
Rating: +135/-8
I like robots
Re: Stages and Collision
«
Reply #33 on:
November 17, 2011, 09:04:29 pm »
And have a variable to space the bullets if you have more than one at a time
I have 2 vars that check the bullet. The first one is turned on when the bullet is fired. I have that set the coords and direction. The second one is activated (and first deactivated) afterward which, if 1, makes the bullet move in the direction. Thats my way.
Coded example coming up
For a simple 1 bullet, here is what I would use. I actually could just use one bullet check var, that would be easier
Repeat getkey(15)
If getkey(9)
!If F
. F is a bullet check. It equals 1 when the bullet is being fired, 0 when it isnt.
X->A
Y->B
R->C
.R is if the player is facing left or right (right is 1, left is 0 here)
.Save that so the bullet wont go backwards
.X and Y are the player's coordnates, thats where the bullet starts
1->F
.When F is 1, that makes it so it wont go through this again.
End
End
If F
.So if F is 1, that means to start moving the bullet.
If C
A++
Else
A--
End
.That checks if it is going left or right.
PtOn(A,B,Pic1)
.Put it on the screen with whatever pic your bullet is
End
If A>96 or (A+8<0)
.If the bullet is outside the screen
0->F
.When F is zero, the bullet stops moving and another bullet can be shot
99->A
.Putting the Coords outside of the screen so it wont interfere
End
End
I dont think I'm forgetting anything other than bullet to enemy collision detects.
Since I didn't put a variable for bullet spacing, this code will make your bullets fire really fast if you're at the edge of the screen, however.
«
Last Edit: November 17, 2011, 09:19:09 pm by epic7
»
Logged
hellninjas
LV7
Elite (Next: 700)
Posts: 625
Rating: +17/-0
Re: Stages and Collision
«
Reply #34 on:
November 18, 2011, 02:31:55 pm »
How would I fire multiple bullets? Like a space shooter or like Shmup?
Logged
epic7
Chopin!
LV11
Super Veteran (Next: 3000)
Posts: 2200
Rating: +135/-8
I like robots
Re: Stages and Collision
«
Reply #35 on:
November 18, 2011, 03:45:43 pm »
Here:
Pick a variable for your for loops. I used V.
Pick L1, L2, L3 etc. I used L5.
Im taking this from my game
.Outside the main loop
For(V,0,5)
.I put 5 there to say what the max possible bullets on the screen would be.
0->{V*4+L5}
End
.That sets the bullet check to zero.
25->S->T
.S and T will be what spaces the bullets. T will gain 1 every time the loop finishes and when it reaches S, which is set to 25, a bullet will be ready to be fired.
Repeat getkey(15)
.Inside the main loop somewhere
If getKey(54)
For(V,0,5)
If T=S
.Checks if T=S so that the bullets are spaced out
!If {V*4+L5}
.If the bullet check is 0, set it to 1
1->{V*4+L5}
.Turn T back to 0 and it will have to go back up to 25 (T) to fire again
0->T
.Exits this loop now since we already have our bullet
Goto X
End
End
End
End
Lbl X
.Other stuff
For(V,0,5)
If {V*4+L5}=1
.If bullet check = 1
.Set the coordnates of the player to the bullet
X->{V*4+L5+1}
Y->{V*4+L5+2}
.Display
Pt-On({V*4+L5+1},{V*4+L5+2},Pic2
.Turn on the bullet check to 2 now.
2->{V*4+L5}
.You should have a variable that tells if the character is left or right. Save that to the bullet like here
R->{V*4+L5+3}
End
End
For(V,0,I)
If {V*4+L5}=2
.Checks if the bullet check is 2...
If {V*4+L5+3}
.If facing right..
{V*4+L5+1}+2->{V*4+L5+1}
Else
.If its not,
{V*4+L5+1}-2->{V*4+L5+1}
End
.Display
Pt-On({V*4+L5+1},{V*4+L5+2},Pic2)
End
End
For(V,0,I)
If {V*4+L5+1}>90
.If the bullet is off the screen (Works for both left and right side)
.Set the bullet checksback to zero and put the coordnates off the screen to not interfere
0->{V*4+L5}+100->{V*5+L5+1}->{V*5+L5+2}
Return
End
End
.Make T move up to S for the bullet spacing
If T<S
T++
End
Thats for just the bullets. I also have collision detects if you need.
To clear up the bullet check, this is what it does.
When
{V*5+L5}=0
That means a new bullet is ready to be shot
When
{V*4+L5}=1
That means the bullet's coordinates and left/right need to be set.
When
{V*4+L5}=2
That means to move the bullet.
Whoo... Done!
«
Last Edit: November 18, 2011, 04:20:54 pm by epic7
»
Logged
+1/-0 karm for this message
hellninjas
LV7
Elite (Next: 700)
Posts: 625
Rating: +17/-0
Re: Stages and Collision
«
Reply #36 on:
November 18, 2011, 08:28:11 pm »
JESUS!! There's alot more to it than I thought! Thanks!
*Takes Notes*
This will be helpful for future games...
Logged
epic7
Chopin!
LV11
Super Veteran (Next: 3000)
Posts: 2200
Rating: +135/-8
I like robots
Re: Stages and Collision
«
Reply #37 on:
November 18, 2011, 09:17:28 pm »
Its probably enough to be its own tutorial.
In fact, I just made it one.
Why not?
«
Last Edit: November 19, 2011, 01:16:59 pm by epic7
»
Logged
hellninjas
LV7
Elite (Next: 700)
Posts: 625
Rating: +17/-0
Re: Stages and Collision
«
Reply #38 on:
November 19, 2011, 03:06:57 pm »
And yes, could you help me a bit with stage collision?
Lets say if I had a stage like on stage one for "Swords" how would I make my character stand or land on the platforms?
Logged
epic7
Chopin!
LV11
Super Veteran (Next: 3000)
Posts: 2200
Rating: +135/-8
I like robots
Re: Stages and Collision
«
Reply #39 on:
November 19, 2011, 03:08:48 pm »
The easy way would just to do a pxl-test.
«
Last Edit: November 19, 2011, 03:12:54 pm by epic7
»
Logged
saintrunner
Custom Spriter: You ask it! I'll Make it!
LV10
31337 u53r (Next: 2000)
Posts: 1787
Rating: +115/-11
Flogging Molly
Re: Stages and Collision
«
Reply #40 on:
November 19, 2011, 03:10:18 pm »
*pxl-test*
Logged
My
Sprites
Thread :Updated often
for your viewing pleasure
GAMES:
Spoiler
For
Spoiler
:
:
Caedes
[On Hold]
:
Legend of Zelda: Link to the Future
:
Seeker
:
POGO Dark/Light
:
Zoom
:
Mario Shotgun
epic7
Chopin!
LV11
Super Veteran (Next: 3000)
Posts: 2200
Rating: +135/-8
I like robots
Re: Stages and Collision
«
Reply #41 on:
November 19, 2011, 03:12:21 pm »
Whoops.
* epic7 edits previous post
«
Last Edit: November 19, 2011, 03:12:44 pm by epic7
»
Logged
saintrunner
Custom Spriter: You ask it! I'll Make it!
LV10
31337 u53r (Next: 2000)
Posts: 1787
Rating: +115/-11
Flogging Molly
Re: Stages and Collision
«
Reply #42 on:
November 19, 2011, 03:15:28 pm »
mhmm! and to hellninjas, just pxl-test the feet of your characters sprite. so when you jump, it first checks to see if your feet are touching a line then it jumps and falls till you touch a line again, here is a game I started a while ago that uses this, tell me if this isn't what your looking for!
edit: wrong screenie one sec
edited:here is the right one! also I can show you an easier but less advanced way for bullets
«
Last Edit: November 19, 2011, 03:19:54 pm by saintrunner
»
Logged
My
Sprites
Thread :Updated often
for your viewing pleasure
GAMES:
Spoiler
For
Spoiler
:
:
Caedes
[On Hold]
:
Legend of Zelda: Link to the Future
:
Seeker
:
POGO Dark/Light
:
Zoom
:
Mario Shotgun
epic7
Chopin!
LV11
Super Veteran (Next: 3000)
Posts: 2200
Rating: +135/-8
I like robots
Re: Stages and Collision
«
Reply #43 on:
November 19, 2011, 03:26:17 pm »
If pxl-Test(x,y+8) or (pxl-Test(x+8,y+8))
I think that will check, right?
I need to start using pxl tests
I'll use them if I finish that jump game
«
Last Edit: November 19, 2011, 03:27:21 pm by epic7
»
Logged
saintrunner
Custom Spriter: You ask it! I'll Make it!
LV10
31337 u53r (Next: 2000)
Posts: 1787
Rating: +115/-11
Flogging Molly
Re: Stages and Collision
«
Reply #44 on:
November 19, 2011, 03:40:02 pm »
yeah that will work, but you also need the ( at the beginning, but I think that was just a typo. lol
and then you need to tell it to add to 'y' if it is not equal 1
Logged
My
Sprites
Thread :Updated often
for your viewing pleasure
GAMES:
Spoiler
For
Spoiler
:
:
Caedes
[On Hold]
:
Legend of Zelda: Link to the Future
:
Seeker
:
POGO Dark/Light
:
Zoom
:
Mario Shotgun
Print
Pages:
1
2
[
3
]
4
Go Up
« previous
next »
Omnimaga
»
Forum
»
Calculator Community
»
TI Calculators
»
Axe
(Moderator:
Runer112
) »
Stages and Collision