[gcompris: 26/111] passing fixed plant instance to slider
- From: Bruno Coudoin <bcoudoin src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcompris: 26/111] passing fixed plant instance to slider
- Date: Wed, 3 Oct 2012 23:56:45 +0000 (UTC)
commit 73c88b91c5bdd8b59a37a549a4c9e5fd66ab015f
Author: serah <serah4291 gmail com>
Date: Fri Jun 8 16:57:45 2012 +0530
passing fixed plant instance to slider
src/intro_gravity-activity/intro_gravity.py | 35 +++++++++++++--------------
1 files changed, 17 insertions(+), 18 deletions(-)
---
diff --git a/src/intro_gravity-activity/intro_gravity.py b/src/intro_gravity-activity/intro_gravity.py
index 963dfbe..db3cd80 100644
--- a/src/intro_gravity-activity/intro_gravity.py
+++ b/src/intro_gravity-activity/intro_gravity.py
@@ -59,6 +59,7 @@ class Gcompris_intro_gravity:
self.rootitem = goocanvas.Group(parent =
self.gcomprisBoard.canvas.get_root_item())
+ #set initial background
gcompris.set_background(self.gcomprisBoard.canvas.get_root_item(),"intro_gravity/solar_system.svgz")
#Load the solar system image
@@ -103,7 +104,7 @@ class Gcompris_intro_gravity:
"intro_gravity/background.svg")
#Load the middle planet - Uranus
- middle = mid_planet(self.rootitem)
+ middle = mid_planet(self.rootitem,self.level)
#Load planet on the left (saturn) and it's slider
self.planet_left = fixed_planet(self.rootitem,middle)
@@ -155,7 +156,6 @@ class Gcompris_intro_gravity:
self.level = 100
elif self.gcomprisBoard.level == 3:
self.level = 50
-
self.game()
def next_level(self):
@@ -175,7 +175,7 @@ class Gcompris_intro_gravity:
class mid_planet(Gcompris_intro_gravity):
"""Class for moving planet in the middle"""
- def __init__(self,rootitem):
+ def __init__(self,rootitem,level):
self.rootitem = rootitem
pixbuf = gcompris.utils.load_pixmap("intro_gravity/uranus.png")
self.planet_mid = goocanvas.Image(
@@ -186,12 +186,14 @@ class mid_planet(Gcompris_intro_gravity):
x = 375,
y = 198)
+ #declaring variables
self.velocity = 0
self.old_force = None
self.count = 0
self.planet_right_mass = 1000
self.planet_left_mass = 1000
self.timer_on = False
+ self.level = level
def move_planet(self,force,planet,planet_mass):
self.timer()
@@ -216,7 +218,7 @@ class mid_planet(Gcompris_intro_gravity):
elif self.old_force == force:
self.true = 2
self.count += 1
- if self.count == 150 or self.velocity == 0:
+ if self.count == self.level or self.velocity == 0:
self.true = 1
self.count = 0
@@ -257,7 +259,6 @@ class fixed_planet:
def __init__(self,rootitem,mid_instance):
self.mid = mid_instance
self.rootitem = rootitem
- self.planet_mass = 1000
def load_planet(self,planet_image,x,y,planet):
self.planet_ = planet
@@ -276,16 +277,7 @@ class fixed_planet:
else:
points_line = goocanvas.Points([(788,190),(788,270)])
- self.scale_slider= slider(self,points_line) #scale line
-
- def set_mass(self,a,b,c,scale,x,y,mass,button,force):
- if (self.planet_mass < 3500 and button ==1) or (self.planet_mass > 1000 and button ==2):
- self.planet.scale(scale,scale)
- self.planet.translate(x,y)
- self.planet_mass += mass
-
- self.mid.move_planet(force,self.planet_,self.planet_mass)
-
+ self.scale_slider= slider(self,points_line) #scale line
class slider:
""" class for scale slider"""
@@ -297,6 +289,7 @@ class slider:
points=points,
stroke_color="grey",
width=2.0)
+ self.planet_mass = 1000
if planet_instance.planet_ == 1:
points_bar = goocanvas.Points([(21,247),(33,247)])
@@ -326,7 +319,7 @@ class slider:
translate_x = -63
x_bar = 782
force = 'right'
- button.connect("button_press_event",self.planet_instance.set_mass,1.1,translate_x,-20,500,1,force)
+ button.connect("button_press_event",self.set_mass,1.1,translate_x,-20,500,1,force)
button.connect("button_press_event",self.move_bar,x_bar,-8,1)
def decrease_button(self,x):
@@ -345,7 +338,7 @@ class slider:
translate_x = 78
x_bar = 782
force = 'left'
- button.connect("button_press_event",self.planet_instance.set_mass,0.9,translate_x,25,-500,2,force)
+ button.connect("button_press_event",self.set_mass,0.9,translate_x,25,-500,2,force)
button.connect("button_press_event",self.move_bar,x_bar,8,2)
def sliding_bar(self,points):
@@ -361,4 +354,10 @@ class slider:
y_new = int(y_old + y)
gcompris.utils.item_absolute_move(self.bar,x,y_new)
-
+ def set_mass(self,a,b,c,scale,x,y,mass,button,force):
+ if (self.planet_mass < 3500 and button ==1) or (self.planet_mass > 1000 and button ==2):
+ self.planet_instance.planet.scale(scale,scale)
+ self.planet_instance.planet.translate(x,y)
+ self.planet_mass += mass
+
+ self.planet_instance.mid.move_planet(force,self.planet_instance.planet_,self.planet_mass)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]