Zparx wrote:
TorbyFork234 wrote:
I support, but in the meantime you can use this relatively long workaround:
Make a list with a name of Tags:(TagName)
Then, for every sprite you have that you would want to be under that tag, you would put aadd [spritename] to [Tags:TagName v]then, for sensing, you would do this:when I receive [touching tagName v] //has to be under the sprite that you want to be checked for touching set [i v] to [1] set [touching v] to [0] repeat <length of [Tags:TagName v]> if <touching <item (i) of [Tags:TagName v]>?> set [touching v] to [1] end change [i v] by (1) end if <(touching)=[1]> say [you touched one of the sprites with a tag of tag name!] endAlternatively, for that script, since it's only for sensing, if you want to make it go faster, you could change the repeat to this:repeat until <<((i)+(1))=<length of [Tags:TagName v]>>or<(touching)=[1]>> endYou could also just have the bunch of or's sitting at the edge of the screen, and when you need it just duplicate it.
Anyways, it would be better to have it built in.This is an effective method, and I've used it in some of my big games, such as "Cyber Defense" in which I added 10 sprites to the list. It worked fine because the turrets didn't require quick touch sense detection. However, if I had 10 or more ground sprites added to a list for a platformer and used this method, it would be very ineffective unless I used turbo mode.
But since nothing is going to happen until 2.0, you can put this into it's own block and have it run in "warp speed" (a c-block that I hear is already put in)
Offline
TorbyFork234 wrote:
But since nothing is going to happen until 2.0, you can put this into it's own block and have it run in "warp speed" (a c-block that I hear is already put in)
Really? How do I do that?
Offline
TorbyFork234 wrote:
But since nothing is going to happen until 2.0, you can put this into it's own block and have it run in "warp speed" (a c-block that I hear is already put in)
It's not in the alpha ATM. I think they took it out.
Offline
technoboy10 wrote:
TorbyFork234 wrote:
But since nothing is going to happen until 2.0, you can put this into it's own block and have it run in "warp speed" (a c-block that I hear is already put in)
It's not in the alpha ATM. I think they took it out.
![]()
Yep, they did.
But at least there will be turbo blocks
Offline
[agree](In other words,support)

Offline
YES I SUPPORT ALOT.
(I support alots. They are kind creatures.)
First, I could finally make that platformer that I've always wanted to do, and second, I could make better collision engines that I have been experimenting with.

Offline
Rexpup wrote:
YES I SUPPORT ALOT.
(I support alots. They are kind creatures.)
First, I could finally make that platformer that I've always wanted to do, and second, I could make better collision engines that I have been experimenting with.
It's so hard without a script like the one I'm suggesting
In BYOB, I've actually put this script together but without tags. I edited a true/false sensing block, like this:
when gf clicked forever if <(touching [sprite 1 v]?) or (touching [sprite 2 v]?)> report true else report falseAnd called the block "touching ground sprites?"
Offline
Zparx wrote:
TorbyFork234 wrote:
I support, but in the meantime you can use this relatively long workaround:
Make a list with a name of Tags:(TagName)
Then, for every sprite you have that you would want to be under that tag, you would put aadd [spritename] to [Tags:TagName v]then, for sensing, you would do this:when I receive [touching tagName v] //has to be under the sprite that you want to be checked for touching set [i v] to [1] set [touching v] to [0] repeat <length of [Tags:TagName v]> if <touching <item (i) of [Tags:TagName v]>?> set [touching v] to [1] end change [i v] by (1) end if <(touching)=[1]> say [you touched one of the sprites with a tag of tag name!] endAlternatively, for that script, since it's only for sensing, if you want to make it go faster, you could change the repeat to this:repeat until <<((i)+(1))=<length of [Tags:TagName v]>>or<(touching)=[1]>> endYou could also just have the bunch of or's sitting at the edge of the screen, and when you need it just duplicate it.
Anyways, it would be better to have it built in.This is an effective method, and I've used it in some of my big games, such as "Cyber Defense" in which I added 10 sprites to the list. It worked fine because the turrets didn't require quick touch sense detection. However, if I had 10 or more ground sprites added to a list for a platformer and used this method, it would be very ineffective unless I used turbo mode.
Aha! And if you run this in an atomic block, so there's no need for tagging.
Offline
scimonster wrote:
Aha! And if you run this in an atomic block, so there's no need for tagging.
![]()
What on earth is an atomic block? ): Is it in 1.4 or is it being released in Scratch 2.0?
Last edited by Zparx (2012-10-30 02:51:56)
Offline
Zparx wrote:
scimonster wrote:
Aha! And if you run this in an atomic block, so there's no need for tagging.
![]()
What on earth is an atomic block? ): Is it in 1.4 or is it being released in Scratch 2.0?
Scratch 2.0 custom blocks will have the option to become "atomic", meaning run without screen refresh, which is what takes all the time.
Offline
scimonster wrote:
Zparx wrote:
scimonster wrote:
Aha! And if you run this in an atomic block, so there's no need for tagging.
![]()
What on earth is an atomic block? ): Is it in 1.4 or is it being released in Scratch 2.0?
Scratch 2.0 custom blocks will have the option to become "atomic", meaning run without screen refresh, which is what takes all the time.
Awesome! How can I be assured that the "atomic speed" will be fast enough? Is it faster than turbo?
Offline
Zparx wrote:
scimonster wrote:
Zparx wrote:
What on earth is an atomic block? ): Is it in 1.4 or is it being released in Scratch 2.0?Scratch 2.0 custom blocks will have the option to become "atomic", meaning run without screen refresh, which is what takes all the time.
Awesome! How can I be assured that the "atomic speed" will be fast enough? Is it faster than turbo?
Yes. It's like it's a single block.
Offline
I support I guess... but what I want to know is if atomic blocks could allow you to interact with other scratchers inside the program you made. How ever do this:
repeat until<(scratch 2.0) = [out]> say [keep on scratching!] end say [scratch 2.0 is out!]
Last edited by nitromian (2012-10-30 21:10:43)
Offline
One script solution is here, although a bit glitchy.
Offline
firedrake969_test wrote:
One script solution is here, although a bit glitchy.
That was already suggested. It works perfectly fine if you aren't working on a platforming game, or a game that requires fast detection. Because the entire time that the variable is on the sprites that your main sprite isn't touching, it will fall through your ground sprites.
Offline