Discuss Scratch

GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

I've been working on a new project, but there is one hitch: I can't figure out how to avoid one NPC moving while touching its clone(s).

We need one new block:

(clone of [... v]::control)

This input block should be used to detect a clone of a sprite.

Example uses:

repeat until <touching (clone of [... v]::control)?>
...
end
This string will detect if a sprite is touching a clone of another sprite / itself.
if <(clone of [... v]::control) = [costume2]> then
...
end
This string will detect what costume the clone is using.

I'm using examples to show you what could be done. P.S. if this block gets rejected, please remind me, and whatever you do…

Please don't report this to be unable to be commented in!

Until then, as always:
ash4uall
Scratcher
11 posts

We Need a New Block!

i agree


GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

ash4uall wrote:

i agree



Wow, so you want the block to be added, too?
deck26
Scratcher
1000+ posts

We Need a New Block!

GeometryPro1386 wrote:

theanonymousweirdo wrote:

This should be in suggestions. Not help with scripts

Okay, if you say so.
Check the descriptions of the forums and it should be clear that's the place. But why do you need to distinguish between touching a clone and touching the sprite? You do presumably realise that the touching block works with clones?
GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

I've been working on many projects, but I want to see if there is a way to detect anything about clones of sprites.

My suggestion:

(clone of [... v]::control)

There are countless examples to show you, but here are a few:

Sprite clone touch:

if <touching (clone of [... v]::control)> then
...
end

Costume name detection:

if <(clone of [... v]::control) = [costume2]> then
...
end

Broadcasting:

broadcast (join (clone of [... v]::control) [detection])

Variables:

set [costume name v] to (clone of [... v]::control)

Lists:

add (clone of [... v]::control) to [costume names v]

Please don't reject or report this idea! It would hurt my feelings. (I'm a kid, remember that!)

As always:
malocool
Scratcher
80 posts

We Need a New Block!

Support!
GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

malocool wrote:

Support!

Support!
MDCCCLXVII
Scratcher
1000+ posts

We Need a New Block!

GeometryPro1386 wrote:

malocool wrote:

Support!

Support!
y
TheGlassPenguin
Scratcher
1000+ posts

We Need a New Block!

Could you explain a little more? Would it report if a certain sprite was a clone of another sprite (then it should be boolean) or would it report the number of clones of the selected sprite?

I support this block either way.
GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

TheGlassPenguin wrote:

Could you explain a little more? Would it report if a certain sprite was a clone of another sprite (then it should be boolean) or would it report the number of clones of the selected sprite?

I support this block either way.

It actually has two uses. One use is to detect the costume number / name of the clone. Another use is to detect if something is touching the clone.

I hope this helps!
GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

Here is a reminder of the block:

(clone of [... v]::control)

I think it needs a new design:

([first v] clone of [... v]::control)

This way, it can detect which clone it's detecting, based on the amount of
create clone of [... v]
and
delete this clone
blocks are used.

the2000
Scratcher
1000+ posts

We Need a New Block!

This doesn't make sense. No Scratch blocks report sprites, let alone a collection of multiple sprites. What would this even display as if you put it in a string input or a variable? No support.

A block like this would be much better, but I still don't know if I would support it:
<touching clone of [ v] ? :: sensing>
GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

the2000 wrote:

This doesn't make sense. No Scratch blocks report sprites, let alone a collection of multiple sprites. What would this even display as if you put it in a string input or a variable? No support.

A block like this would be much better, but I still don't know if I would support it:
<touching clone of [ v] ? :: sensing>

How about this?

<touching [original v] [... v]?::sensing>
<touching [clone of v] [... v]?::sensing>

Is this better?

Last edited by GeometryPro1386 (Feb. 5, 2021 00:39:54)

PkmnQ
Scratcher
1000+ posts

We Need a New Block!

Seems like it would report its costume name.

In response to:

the2000 wrote:

This doesn't make sense. No Scratch blocks report sprites, let alone a collection of multiple sprites. What would this even display as if you put it in a string input or a variable? No support.

A block like this would be much better, but I still don't know if I would support it:
<touching clone of [ v] ? :: sensing>
I forgot to quote it before I started typing.
GeometryPro1386
Scratcher
100+ posts

We Need a New Block!

PkmnQ wrote:

Seems like it would report its costume name.

In response to:

the2000 wrote:

This doesn't make sense. No Scratch blocks report sprites, let alone a collection of multiple sprites. What would this even display as if you put it in a string input or a variable? No support.

A block like this would be much better, but I still don't know if I would support it:
<touching clone of [ v] ? :: sensing>
I forgot to quote it before I started typing.

Fair enough.
the2000
Scratcher
1000+ posts

We Need a New Block!

PkmnQ wrote:

Seems like it would report its costume name.
No it wouldn't. Does this make sense to you?:
<touching [costume1] ?>
CARTOONPFP222111
Scratcher
36 posts

We Need a New Block!

the2000 wrote:

PkmnQ wrote:

Seems like it would report its costume name.
No it wouldn't. Does this make sense to you?:
<touching [costume1] ?>
Unless costume1 is a sprite it doesn't.
han614698
Scratcher
1000+ posts

We Need a New Block!

Couldn't you just use the
<touching [sprite1 v] ?>
block for clones just like any other sprite?
the2000
Scratcher
1000+ posts

We Need a New Block!

CARTOONPFP222111 wrote:

the2000 wrote:

PkmnQ wrote:

Seems like it would report its costume name.
No it wouldn't. Does this make sense to you?:
<touching [costume1] ?>
Unless costume1 is a sprite it doesn't.
Yeah, that's the point. A reporter shouldn't give a different value when you put it in a different block. A string shouldn't report multiple sprites when put into a specific block. We're not teaching PHP here
PkmnQ
Scratcher
1000+ posts

We Need a New Block!

CARTOONPFP222111 wrote:

the2000 wrote:

PkmnQ wrote:

Seems like it would report its costume name.
No it wouldn't. Does this make sense to you?:
<touching [costume1] ?>
Unless costume1 is a sprite it doesn't.
On the other hand,

GeometryPro1386 wrote:

if <(clone of [... v]::control) = [costume2]> then
...
end

Variables:

set [costume name v] to (clone of [... v]::control)

Lists:

add (clone of [... v]::control) to [costume names v]

Powered by DjangoBB