I think, along with my labels suggestion, something that would revolutionize scratch would be the ability to generate sprites.
First, you make a base sprite. The the code could be as follows.
When I receive "create enemy" generate sprite "enemy one"
If total enemies is < "your choice (number)"
Change enemies(variable) by 1
Change total enemies by 1
ELSE
Set Enemy Max to 1
(variable) If "enemy one" 's health <1 delete sprite
change enemies by -1
broadcast "enemy died"
When I receive "enemy died"
If enemy max=0
broadcast create enemy
that can create never ending battles without having to make scripts that reuse sprites
Offline
like cloning?
Offline
Bluestribute wrote:
like cloning?
yes like cloning
Offline
You can use both generating sprites and labels put together by using this simple code:
[Generate sprite (pick random from 1-10<labeled enemy >) if there were ten enemies and you wanted to create a random one.
Offline
Being able to duplicate sprites is the number 1 thing I think that scratch needs in order to let users create better projects. I've heard that this has not been included because new users would misuse it.
Offline
Duplicating sprites is a great idea. I hear a lot of people complaining about it, and how flash is much better since you can do that in flash, but putting it in scratch would be awesome. Though like archmage said, I think new users that are also new to programming might misuse it.
Offline
TimeFreeze wrote:
Duplicating sprites is a great idea. I hear a lot of people complaining about it, and how flash is much better since you can do that in flash, but putting it in scratch would be awesome. Though like archmage said, I think new users that are also new to programming might misuse it.
Like a project, a sprite, forever, clone sprite,
Offline
TimeFreeze wrote:
Duplicating sprites is a great idea. I hear a lot of people complaining about it, and how flash is much better since you can do that in flash, but putting it in scratch would be awesome. Though like archmage said, I think new users that are also new to programming might misuse it.
Even if scratch could duplicate sprites, flash would still be much better. There is a list of things that flash has over scratch.
Just like arrays made a big difference in the kinds of projects people could create, sprite duplication would also make a big difference. Though, it wouldn't put it up to the level that flash is at.
Offline
I totally agree with the cloning. It would make shooting games easier to make. Or you could make games were you need to defeat as many enemies as you can in an allotted time. that would be great. Also you should have two different versions of Scratch. One for new members and one for member that have been deemed fit for cloning.
P.S. I know How Jamie gets things put on the site(He got the Remix bar under the games) and I think we should try get it that way.
P.P.S. I'll send Jamie here to see if he's on our side of this(most likely)
[Blocks]<Clone (Bad Guy) (10) times in (30)s>[Blocks]
Offline
The Scratch "cloning-feature" discussion is a very old one. It's starting again and again here in the forum.
I also like cloning because doing lots of programs with multiple copied sprites. The "shift" cut/copy method helps, but with cloning I would have needed half the time for e.g. following programs:
http://scratch.mit.edu/projects/MartinWollenweber/1570
http://scratch.mit.edu/projects/MartinWollenweber/1848
http://scratch.mit.edu/projects/MartinWollenweber/1848
http://scratch.mit.edu/projects/MartinWollenweber/8708
http://scratch.mit.edu/projects/MartinWollenweber/20407
http://scratch.mit.edu/projects/MartinWollenweber/339425
John Malony told me, that cloning was already implemented in an older Prototype-Version of Scratch: The Scratch Team put it away because they thought it would lead to many problems (infinity cloning, difficulty for Scratch-Starters to understand the concept...). I hope someday they find a good user interface for cloning so that it fits to the targets of Scratch: Easy to learn, powerful and fun to use.
Offline
What they could do is have a limit on the number of clones to like twenty per sprite. That way it would limit the infintie cloneing and yet give plenty of sprites.
Offline
This sounds like a good idea, but one issue:
Name of project: "Computer Crasher"
Repeat Forever
Every 0.000000001 seconds
Generate 999999999999999 sprites. Name: "HAHAHAHA #"
Offline
hmmm, i like TheSaint's idea, a limit of how many clones is possible per project
Offline
jamie wrote:
This sounds like a good idea, but one issue:
Name of project: "Computer Crasher"
Repeat Forever
Every 0.000000001 seconds
Generate 999999999999999 sprites. Name: "HAHAHAHA #"
Jamie is right that would happen alot with newbie scratchers. and they will all think they thought of it first and post their own. :| So mabye make a scratch version for only members that have earned there right to use a cloning tool. (people like the scratch team and Jamie and such.)
Offline
Buddy_ca111 wrote:
jamie wrote:
This sounds like a good idea, but one issue:
Name of project: "Computer Crasher"
Repeat Forever
Every 0.000000001 seconds
Generate 999999999999999 sprites. Name: "HAHAHAHA #"Jamie is right that would happen alot with newbie scratchers. and they will all think they thought of it first and post their own. So mabye make a scratch version for only members that have earned there right to use a cloning tool. (people like the scratch team and Jamie and such.)
Hmm... Good, but I like TheSaint's idea better.
Offline
jamie wrote:
This sounds like a good idea, but one issue:
Name of project: "Computer Crasher"
Repeat Forever
Every 0.000000001 seconds
Generate 999999999999999 sprites. Name: "HAHAHAHA #"
You can do that in any language. For example.
while (1=1){
system.out.println("CRASH!");
}
This will freeze your PC.
If people submit projects that crash your pc onto the website you can just flag it. This would help people learn how to use their resources properly.
Offline
Buddy_ca111 wrote:
jamie wrote:
This sounds like a good idea, but one issue:
Name of project: "Computer Crasher"
Repeat Forever
Every 0.000000001 seconds
Generate 999999999999999 sprites. Name: "HAHAHAHA #"Jamie is right that would happen alot with newbie scratchers. and they will all think they thought of it first and post their own. So mabye make a scratch version for only members that have earned there right to use a cloning tool. (people like the scratch team and Jamie and such.)
TheSaint has a point, but that would defeat the purpose of have the clone block in the first place! And i'm sure a noob could find a way around the limit per sprite, example:
clone.
broadcast: activate clone
when i recieve: activate clone,
clone.
and so on... i was thinking, maybe the script could turn red, as if there was some sort of error when you directly place a clone block into the forever block, and then the project would stop working.
I really don't know.
Offline
archmage wrote:
jamie wrote:
This sounds like a good idea, but one issue:
Name of project: "Computer Crasher"
Repeat Forever
Every 0.000000001 seconds
Generate 999999999999999 sprites. Name: "HAHAHAHA #"You can do that in any language. For example.
while (1=1){
system.out.println("CRASH!");
}
This will freeze your PC.
If people submit projects that crash your pc onto the website you can just flag it. This would help people learn how to use their resources properly.
I'm sure they wouldn't do that on their own account, people are always creating junk accounts like hye76di7bcgu just to go insult someone or spam. They would never learn because they would never look at that account again.
I am very suprised that you overlooked that possibility archmage.
Offline
Hey guys, so am I correct in thinking that my shoot-em-up game (ala Smash Tv) will have to use a new sprite example for every enemy onscreen?
No generating the same sprite over and over?
Offline
When you generate a sprite you should be able to decide what scripts it has in it. Otherwise that script won't work.
When I receive "create enemy" generate sprite "enemy one"
[Add Script to : "enemy one"]
| Script
| Script
|----------|
If total enemies is < "your choice (number)"
Change enemies(variable) by 1
Change total enemies by 1
ELSE
Set Enemy Max to 1
(variable) If "enemy one" 's health <1 delete sprite
change enemies by -1
broadcast "enemy died"
When I receive "enemy died"
If enemy max=0
broadcast create enemy
This Topic = Old
Last edited by Magnie (2009-05-26 21:36:08)
Offline