Exemple #1
0
    def _animation(self):
        "Calculates an offset to move and calls the move_offset."
        t = ecore.time_get()
        dt = t - self.time
        ddv = (self.speed * dt) + (0.5 * self.accel * dt * dt)
        dv = int(ddv)

        if dt < ecore.animator_frametime_get() / 2.0:
            return True

        if self.forced:
            if self.forced_goal == 0:
                self.stop()
                return False

            if -1 < dv < 1:
                dv = int(self.speed / abs(self.speed))

            if self.forced_goal < abs(dv):
                if dv < 0:
                    dv = -(self.forced_goal)
                else:
                    dv = self.forced_goal
                self.forced_goal = 0
            else:
                self.forced_goal -= abs(dv)

        else: # not forced
            if abs(ddv) < self.min_movement and \
                    abs(self.speed) < self.min_speed:
                self.stop()
                return False

        self.speed = self.speed + (self.accel * dt)
        self.time = t

        moved = self.move_offset(dv)

        # Stop animation if move_offset couldn't move anymore or if already
        # crossed speed zero (stop) line.
        if not moved or (self.speed * self.accel) > 0:
            self.stop()
            return False

        return True
Exemple #2
0
#!/usr/bin/env python

import ecore

def cb_true(n, t, a):
    print "cb_true:", n, t, a
    return True

def cb_false(n, t, a):
    print "cb_false:", n, t, a
    return False

ecore.animator_frametime_set(1.0/24.0)
assert ecore.animator_frametime_get() == 1.0/24.0

a0 = ecore.animator_add(cb_true, 123, "teste", a=456)
a1 = ecore.Animator(cb_false, 789, "bla", a="something in a")
a2 = ecore.animator_add(ecore.main_loop_quit)
print "before: a0=", a0
print "before: a1=", a1
print "before: a2=", a2

ecore.main_loop_begin()
print "main loop stopped"

print "after:  a0=", a0
print "after:  a1=", a1
print "after:  a2=", a2

a0.delete()
del a0
Exemple #3
0
import ecore


def cb_true(n, t, a):
    print "cb_true:", n, t, a
    return True


def cb_false(n, t, a):
    print "cb_false:", n, t, a
    return False


ecore.animator_frametime_set(1.0 / 24.0)
assert ecore.animator_frametime_get() == 1.0 / 24.0

a0 = ecore.animator_add(cb_true, 123, "teste", a=456)
a1 = ecore.Animator(cb_false, 789, "bla", a="something in a")
a2 = ecore.animator_add(ecore.main_loop_quit)
print "before: a0=", a0
print "before: a1=", a1
print "before: a2=", a2

ecore.main_loop_begin()
print "main loop stopped"

print "after:  a0=", a0
print "after:  a1=", a1
print "after:  a2=", a2