Discuss Scratch

willehren
Scratcher
21 posts

a [point towards x( ) y( ) block

I t would be nice if there was a block that made the sprite point towards an x and y “place”
turkey3
Scratcher
1000+ posts

a [point towards x( ) y( ) block

You can use trigonometry to replicate this: so if I want to point toward x:40 y:60
point in direction (([atan] of ((((60) - (y position)) / ((40) - (x position))))) - (90))
Sorry if that's a bit off.

Last edited by turkey3 (June 14, 2013 21:39:15)

kayybee
Scratcher
1000+ posts

a [point towards x( ) y( ) block

turkey3 wrote:

You can use trigonometry to replicate this: so if I want to point toward x:40 y:60
point in direction (([atan] of ((((60) - (y position)) / ((40) - (x position))))) - (90))
Sorry if that's a bit off.
Wait, does that also work for the third and second quadrants?
ProdigyZeta7
Scratcher
1000+ posts

a [point towards x( ) y( ) block

Here's the general script for it:
myX = x position
myY = y position
targetX = x position of target
targetY = y postion of target
if myY = targetY
{
if myX > targetX //if our Y positions are the same, I'll face either straight left or right
{
direction = -90
}
else
{
direction = 90
}
}
else
{
direction = atan((myX - targetX) / (myY - targetY))
if myY > targetY //because tangent can only yield up to 180 degrees, an extra 180 is added if the target's Y position is below yours
{
direction = direction + 180
}
}
This code should work for all four quadrants. I can't go full nerd and explain the advanced properties trigonometry, but hopefully wikipedia can do that for you.
drmcw
Scratcher
1000+ posts

a [point towards x( ) y( ) block

Another method is to have a hidden sprite called target move that to the target destination then use point towards target.
alexphan
Scratcher
1000+ posts

a [point towards x( ) y( ) block

I have two things to say.

1. What's the use for the block?

2.There are loopholes for it.
So_Awsome
Scratcher
10 posts

a [point towards x( ) y( ) block

I was working on a 3d model project, when I encountered a problem. I wanted my render sprite to point towards a specific point, but there wasn't a way of doing this without needing a lot of sprites (so that I could use the existing “point towards” block). So, I made a project with a new block, and I think you might want to see it. https://scratch-mit-edu.ezproxyberklee.flo.org/projects/65195004/ The new block serves this function, and I think it would be a good block addition.
DaSpudLord
Scratcher
1000+ posts

a [point towards x( ) y( ) block

No support. Workaroundable. Look them up.
So_Awsome
Scratcher
10 posts

a [point towards x( ) y( ) block

DaSpudLord wrote:

No support. Workaroundable. Look them up.
What do you mean?
DaSpudLord
Scratcher
1000+ posts

a [point towards x( ) y( ) block

So_Awsome wrote:

DaSpudLord wrote:

No support. Workaroundable. Look them up.
What do you mean?
I mean that it is possible to program it yourself.
So_Awsome
Scratcher
10 posts

a [point towards x( ) y( ) block

DaSpudLord wrote:

So_Awsome wrote:

DaSpudLord wrote:

No support. Workaroundable. Look them up.
What do you mean?
I mean that it is possible to program it yourself.
You're absolutely right, it is possible to program it yourself, but if you don't know trig, or you are new to scratch, it would be very hard.
DaSpudLord
Scratcher
1000+ posts

a [point towards x( ) y( ) block

So_Awsome wrote:

DaSpudLord wrote:

So_Awsome wrote:

DaSpudLord wrote:

No support. Workaroundable. Look them up.
What do you mean?
I mean that it is possible to program it yourself.
You're absolutely right, it is possible to program it yourself, but if you don't know trig, or you are new to scratch, it would be very hard.
You can always move another sprite to that location and then point towards that sprite. That's what I used to do.
So_Awsome
Scratcher
10 posts

a [point towards x( ) y( ) block

DaSpudLord wrote:

You can always move another sprite to that location and then point towards that sprite. That's what I used to do.
Yes, but for the project I was working on, more sprites would have slowed the program down.
stickfiregames
Scratcher
1000+ posts

a [point towards x( ) y( ) block

Support.
DaSpudLord
Scratcher
1000+ posts

a [point towards x( ) y( ) block

So_Awsome wrote:

DaSpudLord wrote:

You can always move another sprite to that location and then point towards that sprite. That's what I used to do.
Yes, but for the project I was working on, more sprites would have slowed the program down.
Then use an existing sprite. Plus, most of the time, cloning can replace the need for having too many sprites.
So_Awsome
Scratcher
10 posts

a [point towards x( ) y( ) block

DaSpudLord wrote:

Then use an existing sprite. Plus, most of the time, cloning can replace the need for having too many sprites.
Here's the thing, you can't get a sprite to point toward its own clone. You can get it to point to other sprites' clones, but not its own.

Last edited by So_Awsome (June 8, 2015 21:35:00)

DaSpudLord
Scratcher
1000+ posts

a [point towards x( ) y( ) block

So_Awsome wrote:

DaSpudLord wrote:

Then use an existing sprite. Plus, most of the time, cloning can replace the need for having too many sprites.
Here's the thing, you can't get a sprite to point toward its own clone. You can get it to point to other sprites' clones, but not its own.
I know that. I'm saying that there are OTHER places in which you can use clones, like instead of repeatedly duplicating an enemy sprite to have multiple enemies at once, you can create clones of the original enemy sprite.
Doyousketch2
Scratcher
93 posts

a [point towards x( ) y( ) block

Whether or not it gets added to Scratch, I like the block you made.
I think it serves a purpose, and as far as I can tell, is well coded.

Yes, you can use another sprite, and point toward that.
I've done that before, especially at the center of the screen.

Tho, this seems like a more elegant method for drawing,
'cuz you wouldn't have to have your pen
constantly chasing around another sprite.
charlesdog
Scratcher
1000+ posts

a [point towards x( ) y( ) block

So much support.
Alberknyis
Scratcher
1000+ posts

a [point towards x( ) y( ) block

No support, it's possible to program it yourself and you don't even need to know trigonometry; just find a project with it. If you can't find one I'll supply it to you.

Powered by DjangoBB