2007. 7. 6. 15:22
Code/NodeBox
size(400,400)
speed(15)
def setup():
global mx
global my
global t
global x0
global y0
global x1
global y1
global x2
global y2
global x3
global y3
global x4
global y4
global x5
global y5
global x6
global y6
global x7
global y7
global d
global s
global r
global u
global p
t=20 #term
mx=range(t)
my=range(t)
for n in range(t):
mx[n]=-200
my[n]=-200
x0=range(t)
y0=range(t)
x1=range(t)
y1=range(t)
x2=range(t)
y2=range(t)
x3=range(t)
y3=range(t)
x4=range(t)
y4=range(t)
x5=range(t)
y5=range(t)
x6=range(t)
y6=range(t)
x7=range(t)
y7=range(t)
u=range(t)
p=range(t)
d=10 #distance
s=2 #initial size
r=0.9 #ratio of size decreasing
def draw():
global mx
global my
global t
global x0
global y0
global x1
global y1
global x2
global y2
global x3
global y3
global x4
global y4
global x5
global y5
global x6
global y6
global x7
global y7
global d
global s
global r
global u
global p
for i in range(t-1):
mx[i]=mx[i+1]
my[i]=my[i+1]
mx[t-1]=MOUSEX
my[t-1]=MOUSEY
rectc(mx[i],my[i],s,s)
for i in range(t):
u[i]=(t-i)*5 #to controll the stages of popping
p[i]=-i #to controll the sizes of popping
x0[i]=mx[i]+u[i]
y0[i]=my[i]
x1[i]=mx[i]+u[i]
y1[i]=my[i]+u[i]
x2[i]=mx[i]
y2[i]=my[i]+u[i]
x3[i]=mx[i]-u[i]
y3[i]=my[i]+u[i]
x4[i]=mx[i]-u[i]
y4[i]=my[i]
x5[i]=mx[i]-u[i]
y5[i]=my[i]-u[i]
x6[i]=mx[i]
y6[i]=my[i]-u[i]
x7[i]=mx[i]+u[i]
y7[i]=my[i]-u[i]
rectc(x0[i], y0[i], s*(r**p[i]),s*(r**p[i]))
rectc(x1[i], y1[i], s*(r**p[i]),s*(r**p[i]))
rectc(x2[i], y2[i], s*(r**p[i]),s*(r**p[i]))
rectc(x3[i], y3[i], s*(r**p[i]),s*(r**p[i]))
rectc(x4[i], y4[i], s*(r**p[i]),s*(r**p[i]))
rectc(x5[i], y5[i], s*(r**p[i]),s*(r**p[i]))
rectc(x6[i], y6[i], s*(r**p[i]),s*(r**p[i]))
rectc(x7[i], y7[i], s*(r**p[i]),s*(r**p[i]))
def rectc(xc,yc,w,h):
x=xc-w/2
y=yc-h/2
rect(x,y,w,h)
speed(15)
def setup():
global mx
global my
global t
global x0
global y0
global x1
global y1
global x2
global y2
global x3
global y3
global x4
global y4
global x5
global y5
global x6
global y6
global x7
global y7
global d
global s
global r
global u
global p
t=20 #term
mx=range(t)
my=range(t)
for n in range(t):
mx[n]=-200
my[n]=-200
x0=range(t)
y0=range(t)
x1=range(t)
y1=range(t)
x2=range(t)
y2=range(t)
x3=range(t)
y3=range(t)
x4=range(t)
y4=range(t)
x5=range(t)
y5=range(t)
x6=range(t)
y6=range(t)
x7=range(t)
y7=range(t)
u=range(t)
p=range(t)
d=10 #distance
s=2 #initial size
r=0.9 #ratio of size decreasing
def draw():
global mx
global my
global t
global x0
global y0
global x1
global y1
global x2
global y2
global x3
global y3
global x4
global y4
global x5
global y5
global x6
global y6
global x7
global y7
global d
global s
global r
global u
global p
for i in range(t-1):
mx[i]=mx[i+1]
my[i]=my[i+1]
mx[t-1]=MOUSEX
my[t-1]=MOUSEY
rectc(mx[i],my[i],s,s)
for i in range(t):
u[i]=(t-i)*5 #to controll the stages of popping
p[i]=-i #to controll the sizes of popping
x0[i]=mx[i]+u[i]
y0[i]=my[i]
x1[i]=mx[i]+u[i]
y1[i]=my[i]+u[i]
x2[i]=mx[i]
y2[i]=my[i]+u[i]
x3[i]=mx[i]-u[i]
y3[i]=my[i]+u[i]
x4[i]=mx[i]-u[i]
y4[i]=my[i]
x5[i]=mx[i]-u[i]
y5[i]=my[i]-u[i]
x6[i]=mx[i]
y6[i]=my[i]-u[i]
x7[i]=mx[i]+u[i]
y7[i]=my[i]-u[i]
rectc(x0[i], y0[i], s*(r**p[i]),s*(r**p[i]))
rectc(x1[i], y1[i], s*(r**p[i]),s*(r**p[i]))
rectc(x2[i], y2[i], s*(r**p[i]),s*(r**p[i]))
rectc(x3[i], y3[i], s*(r**p[i]),s*(r**p[i]))
rectc(x4[i], y4[i], s*(r**p[i]),s*(r**p[i]))
rectc(x5[i], y5[i], s*(r**p[i]),s*(r**p[i]))
rectc(x6[i], y6[i], s*(r**p[i]),s*(r**p[i]))
rectc(x7[i], y7[i], s*(r**p[i]),s*(r**p[i]))
def rectc(xc,yc,w,h):
x=xc-w/2
y=yc-h/2
rect(x,y,w,h)
## lesson 1. 마우스의 궤적을 따라 퍼져나가는 사각형들의 배열을 구성해 주는 range u변수는 전체 인덱스와 동일한 i에 관하여 정의되어야 한다.
## 또한, 새로운 자취일수록 그 배열의 진행 단계가 나중이어야, 즉 덜 퍼진 상태여야 하므로, "t(=range의 범위)-i"가 된다.
## 그러므로, 물론 사각형 배열의 크기를 (작아지게) 조절해 주는 range 변수 p도 i에 관하여 다시 정의해 주어야 한다.
'Code > NodeBox' 카테고리의 다른 글
popping_1.1 (0) | 2007.07.09 |
---|---|
popping_1.0 (수정 중) (0) | 2007.07.06 |
storing_test (0) | 2007.07.05 |
pop_test (0) | 2007.07.05 |
matrix_glimmer_dim (0) | 2007.07.04 |