dimanche 31 octobre 2010

#This  a port of a Raphaël tutorial on Python



def createCircles():
circle
= paper.circle(100, 100, 80);
for i in range(5):
multiplier
= i*5;
paper.circle(
250 + (2*multiplier), 100 + multiplier, 50 - multiplier)
rectangle
= paper.rect(200, 200, 250, 100);
ellipse
= paper.ellipse(200, 400, 100, 50);


def createTetronimo():
tetronimo
= paper.path("M 250 250 l 0 -50 l -50 0 l 0 -50 l -50 0 l 0 50 l -50 0 l 0 50 z")
tetronimo.attr(
{
'gradient': '90-#526c7a-#64a0c1',
'stroke': '#3b4449',
'stroke-width': 10,
'stroke-linejoin': 'round',
'rotation': -90
})

tetronimo.animate({
'rotation': 360}, 2000, 'bounce',endAnim(tetronimo));

def endAnim(s):
s.animate({
'path': "M 250 250 l 0 -50 l -50 0 l 0 -50 l -100 0 l 0 50 l 50 0 l 0 50 z"
},
5000, 'linear');

def createCircle():
t
= GenericCallback(test)
circle
= paper.circle(100, 100, 80);
circle.attr({
'fill': '#000', 'stroke': 'none'});
text
= paper.text(250, 250, 'Bye Bye Circle!')
text.attr({
'opacity': 0, 'font-size': 12})
text.toBack();
circle.node.onclick
= lambda mevent : t(mevent,circle,text)

def test(me,s,text):
s.attr({
'fill':'ff0000'})
text.animate({
'opacity': 1}, 2000);
s.animate({
'opacity': 0}, 100, lambda m : s.remove())



def main():
#createCircles()
#createTetronimo()
createCircle()

if __name__ == '__main__':
main()