Computer Science Canada SPRITE Problems in my game, freed sprite problem. |
Author: | RyGuy-Anime [ Tue Jan 24, 2012 3:20 pm ] | ||
Post subject: | SPRITE Problems in my game, freed sprite problem. | ||
What is it you are trying to achieve? A "Blast Attack to go across the screen.. this is my first attempt at a game btw What is the problem you are having? it says i freed my sprite but i cannot find any lines where i've done it Describe what you have tried to solve this problem Anything i could think of Post any relevant code (You may choose to attach the file instead of posting the code if it is too long) process shoot loop location1 := locationx + 7 location2 := locationy + 10 %Sprite.SetPosition (lasersprite, location1, location2, false) %sets location vairables) %Sprite.SetHeight (lasersprite, 3) if blast = true then if direction = 1 then Sprite.Show (lasersprite) loop location1 := location1 - 7 Sprite.Show (lasersprite) if location1 = a then if location2 + 10 > b and location2 - 10 < b then hit := true exit end if elsif location1 < -20 then exit end if end loop else Sprite.Show (lasersprite) loop location1 := location1 + 7 Sprite.Show (lasersprite) if room = 3 and location1 = a then if location2 + 10 > b and location2 - 10 < b then hit := true exit end if elsif location1 > 340 then exit end if end loop end if end if if ended = true then %Sprite.Hide (lasersprite) exit end if end loop end shoot
Please specify what version of Turing you are using 4.1.1 |
Author: | Dreadnought [ Tue Jan 24, 2012 3:57 pm ] | ||
Post subject: | Re: SPRITE Problems in my game, freed sprite problem. | ||
When you create a sprite it is associated with the window that was active at the time of its creation. You may not realize it, but while you are loading sprites and pictures at the beginning of your program, the default window (window Id -1 I think) is considered active for Turing (even if you can't see it). When you call the line
This creates a window that is different from the standard Turing window. So Turing creates a new window and closes the old one (even if you couldn't see it). And with closing that window all the sprites that were associated with it are freed. A way of fixing this might be to place the setscreen statement earlier in the program or creating sprites later. Hope this helps. |
Author: | RyGuy-Anime [ Tue Jan 24, 2012 7:05 pm ] |
Post subject: | Re: SPRITE Problems in my game, freed sprite problem. |
Thanks a ton ![]() ![]() |