Mantis - Squeak
Viewing Issue Advanced Details
6747 Etoys minor sometimes 11-02-07 04:01 11-17-08 20:05
new 3.8  
0006747: [Bug] How to make a dizzy Morph Bounce
For this one from Objects or Supplies bin
Get a Rectangle Morph
Get an ellipse morph
with the halo handles make the rectangle roomy enough for the ellipse.
move ellipse over rectangle
from the red halo menu embed the ellipse in the rectangle.

with the halo rotate the ellipse 90 degrees (approximately)
with the halo rotate the rectangle 90 degrees (approximately)

with the halo get a viewer for the ellipse
drag out the forward by 5 tiles and let them become a script.

run the script.
under the right circumstances the morph will start bounceing in place.

To help reproducability I will upload a OPLC etoys project from a fresh olpc etoys-dev-1513.

And a saved morph from 3dot10 version 7137 (when loaded rotate the rectangle 90 degrees. when squeak save the morph it missed the outer flex.)

Player forward is testing for the morph being within playfield boundries and bouncing when that fails.

The x and y's are all confused because of the layered flexing.

This is the first bug I've run across in looking for a set of ezekial tests (wheels within wheels).

I've marked this 3.8 because that branch is most likely interested in etoys bugs. However this is a current bug (or symtom of a bug) and needs to be fixed in 3dot10+ too.

related to 0007112new  Squeak 5.2 Embeding a NCPinMorph in a rotated morph move the pin to a incorrect position 
child of 0005674new  Squeak Why doesn't heading = forwardDirection + rotationDegrees for all morphs all the time? 
 dizzy and [^] (30,525 bytes) 11-02-07 04:02
 dizzyMorph.morph [^] (17,854 bytes) 11-02-07 04:03
 rotation test [^] (41,714 bytes) 11-05-07 00:38

11-05-07 00:29   
Ok it gets worse.

For this one get a rectangle and an ellipse
grow the rectange and embed the ellipse.

Now get to handles (get ellipses and shrink them to handle size)

Make a simple follow script for each

handle do menu item bring to front
set handles x to rectangles x
set handles y to rectangles y

and do the same for the other handle and the ellipse.

set the scripts going
the handle are over the centers of the rectangle and the ellipse

get halos on the rectangle and click down on the blue halo handle
the ellipses follower disappears or can be see up near the top left of the world.

explanation when the rectange is flexed the ellipses x and y are relative to the rectangle local not world coordinates.

This is a hard bug because it is inconsitant with the behavior of the embedded ellipse when the rectangle is not flexed.
11-05-07 00:40   
rotation test uploaded.

This is an olpc-etoys project (a fresh 1513 image was the base)
which is set up to demonstrate the problem mentioned in the note above.