villares 2020-02-15 20:04:58 -03:00
rodzic 9244e9913c
commit d84849af68
3 zmienionych plików z 75 dodań i 0 usunięć

Wyświetl plik

@ -47,5 +47,7 @@ def mouseReleased():
gesto[:] = [] # esvazia a lista gesto original
def keyPressed():
if key == 's':
saveFrame("####.png")
if key == ' ':
gestos[:] = [] # esvazia a lista gestos

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 16 KiB

Wyświetl plik

@ -0,0 +1,73 @@
gestos = [] # lista de gestos
gesto = [] # lista de pontos, tuplas (x, y)
select_gesto = -1 # -1 significa nenhum gesto selecionado
def setup():
size(500, 500)
noFill()
strokeWeight(5)
def draw():
background(200)
for i, gesto in enumerate(gestos):
if i == select_gesto:
stroke(200, 0, 0)
else:
stroke(0)
# lista[-1] é o último item de uma lista
# lista[a:b] é do item [a] até o item [b-1]
# lista[:-1] é do começo até o penúltimo item de uma lista
# lista[1:] é a partir do segundo até o final
for p, pp in zip(gesto[:-1], gesto[1:]):
lw = 1 + 5 / (1 + dist(p[0], p[1], pp[0], pp[1]))
strokeWeight(lw)
line(p[0], p[1], pp[0], pp[1])
def mousePressed():
global select_gesto
if keyPressed and keyCode == SHIFT:
for i, gesto in enumerate(gestos):
for x, y in gesto:
if dist(x, y, mouseX, mouseY) < 10:
select_gesto = i
return
select_gesto = -1 # deixa nenhum gesto selecionado
def mouseDragged():
if not keyPressed:
gesto.append((mouseX, mouseY))
if key == 'm':
if select_gesto >= 0:
dx = mouseX - pmouseX
dy = mouseY - pmouseY
sel_gesto = gestos[select_gesto]
for i, (x, y) in enumerate(sel_gesto):
sel_gesto[i] = (x + dx, y + dy)
def mouseReleased():
novo_gesto = gesto[:] # cria uma cópia
gestos.append(novo_gesto)
gesto[:] = [] # esvazia a lista gesto original
def keyPressed():
global select_gesto
if key == 's':
saveFrame("####.png")
if key == ' ':
gestos[:] = [] # esvazia a lista gestos
if key == 'r' and select_gesto >= 0:
gestos.pop(select_gesto)
select_gesto = -1
if key == 'd' and select_gesto >= 0:
new_gesto = gestos[select_gesto][:]
for i, (x, y) in enumerate(new_gesto):
new_gesto[i] = (x + 20, y + 20)
gestos.append(new_gesto)
select_gesto = len(gestos) - 1
if key == 'z' and len(gestos) > 0:
gestos.pop() # apaga o último gesto