Opened 9 years ago

Closed 9 years ago

#2353 closed enhancement (fixed)

turtle art should allow reskinning of Turtle

Reported by: walter Owned by: walter
Priority: Unspecified by Maintainer Milestone: Unspecified
Component: Turtleart Version: Unspecified
Severity: Unspecified Keywords:
Cc: tonyforster Distribution/OS: Unspecified
Bug Status: Unconfirmed

Description

See example (Turtle Shell block) in attachment. (Let's you specify a different skin per 10 degrees of orientation.)

Attachments (1)

TurtleArt-99.xo (968.2 KB) - added by walter 9 years ago.
restricting skin to Journal args

Download all attachments as: .zip

Change History (10)

comment:1 Changed 9 years ago by tonyforster

Unable to drag reskinned turtle with the mouse, can rotate with difficulty,

Should clean return turtle to standard shell? How can you get back the standard shell?

How do I resize shell?

tried scale =3
running code [(Setscale 47) 3.0 (skin 44)
glib error failed to allocate 185191424 bytes
aborting ...

comment:2 Changed 9 years ago by walter

Should clean return turtle to standard shell? How can you get back the standard shell?

Done. See http://git.sugarlabs.org/projects/turtleart/repos/mainline/commits/8e4c9bddbf801582a15eb57c122b5e74341bc89c

How do I resize shell?

The scale block should adjust the scale. By default, the image is mapped to be the same size as the standard turtle icon. I'll try to replicate the glib problem.

Unable to drag reskinned turtle with the mouse, can rotate with difficulty,

Investigating this one...

comment:3 Changed 9 years ago by walter

See the version attached to #2336 which has the latest reskin commits. I am still trying to understand why the turtle is not being detected properly when I try to drag it. However, I think the scaling bugs are all sorted out:

http://git.sugarlabs.org/projects/turtleart/repos/mainline/commits/cfc5b9b203ade8cd586e2bff44e050cda5c51d33

comment:4 Changed 9 years ago by walter

If the image is png, it won't drag. If the image is SVG, it drags, but erratically... Need to poke around in gtk.

comment:5 Changed 9 years ago by walter

I fixed the drag problem, which was the convolution of two bugs: (1) I wasn't detecting cases where the pixbuf didn't have an alpha channel, causing the selection to fail; and (2) I was not considering the size of the pixbuf when calculating drag vs. rotate.

In regard to the former, see http://git.sugarlabs.org/projects/turtleart/repos/mainline/commits/75e61909eb0cc991bedbe81e932f797d4604438c

In regard to the latter, a quick fix, which disables rotation with the mouse of reskinned turtles:
http://git.sugarlabs.org/projects/turtleart/repos/mainline/commits/f4d2e79444e6698fa6ce18446797e85720e06fce

I may try calculating a new threshold on the fly, but this version gets most of the job done.

Changed 9 years ago by walter

restricting skin to Journal args

comment:7 Changed 9 years ago by tonyforster

  • Cc tonyforster added

comment:8 Changed 9 years ago by tonyforster

Seems better with small scale but can still put into an endless loop with
set scale=1
turtle shell = image
v99 os15 0.90

comment:9 Changed 9 years ago by walter

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.