Forum Archive

How to use class touch ?

Raymond

i dont know how to use Touch class..so i want simple example..
i try this to learn..but its not work:

import ui

v = ui.load_view('main')
t = ui.Touch
v.present('sheet')



while v.on_screen:
    print(t.phase)
cvp

@Raymond see Sketch example in Pythonista examples.

touch parameter of touch_xxx functions is an ui.Touch

Raymond

What?!! There is no sketch example in pythonista site !

cvp

@Raymond in the Examples folder..., User Interface sub-folder

Raymond

Can you make a simple example please

cvp

@Raymond from here touch the screen with multiple fingers and move them to see the effect

# Variation of the 'Basic Scene' template that shows every
# touch in a different (random) color that stays the same
# for the duration of the touch.

from scene import *
from colorsys import hsv_to_rgb
from random import random

class TouchColors (Scene):
    def setup(self):
        self.touch_colors = {}

    def draw(self):
        background(0, 0, 0)
        for touch in self.touches.values():
            r, g, b = self.touch_colors[touch.touch_id]
            fill(r, g, b)
            ellipse(touch.location.x - 50, touch.location.y - 50, 100, 100)

    def touch_began(self, touch):
        self.touch_colors[touch.touch_id] = hsv_to_rgb(random(), 1, 1)

    def touch_moved(self, touch):
        pass

    def touch_ended(self, touch):
        del self.touch_colors[touch.touch_id]

run(TouchColors())