[video]
Como dito na última aula, aqui vai o código de como fazer diferentes alinhamentos de texto:
size(2000, 600)
texto = “oh, you touch my tralala, mmm… “
fonte = “Garamond Premier Pro”
fon = “Helvetica”
# Alinhamento à esquerda
align(LEFT)
font(fon, 25)
fill(1, 0, 0)
text(“ESQUERDA”, 50, 100, width=170)
fill(0)
font(fonte, 50)
text(texto,50, 200, width=170)
# Texto Centrado
align(CENTER)
font(fon, 25)
fill(1, 0, 0)
text(“CENTRADO”, 250, 100, width=170)
fill(0)
font(fonte, 50)
text(texto,250, 200, width=170)
# Alinhamento à Direita
align(RIGHT)
font(fon, 25)
fill(1, 0, 0)
text(“DIREITA”, 500, 100, width=170)
fill(0)
font(fonte, 50)
text(texto,500, 200, width=170)
# Texto Justificado
align(JUSTIFY)
font(fon, 25)
fill(1, 0, 0)
text(“JUSTIFICADO”, 750, 100, width=175)
fill(0)
font(fonte, 50)
text(texto,750, 200, width=170)
[video]
[video]
às partes
[video]
Para este projecto decidei fazer avatars de um blog qualquer de discussão de jogos…
Neste blog, os utilizadores inscritos na secção de “bugs” dos jogos poderiam escolher, dentro de várias possibilidades, um “bug” ao seu critério. Nisto, gostei do facto de levar à letra o avatar para os utilizadores da secção “bug” e usar, portanto, insectos.
Por isso, dentro das inúmeras opções de escolha, seleccionei uma formiga, uma aranha, uma louva-a-deus, um escaravelho e uma barata. De modo a que pudesse criar um programa gerador de “bugs”, tive que seccionar criteriosamente cada um dos insectos. Dividi, então por: antenas (esquerda e direita), cabeça, tórax, abdómen, patas dianteiras (esquerda e direita) e patas traseiras (esquerdas e direitas).
O resultado final acabou por ficar um pouco cómico!!!
No entanto, não me bastou importar as imagens e fazer um choice das variáveis. Para além disto, tive que calibrar as coordenadas e tamanhos de cada parte, consoante os outros elementos e chegar a um “consenso” entre todos, de modo a que ficasse um insecto de construção minimamente harmoniosa.
Para isso recorri ao coreimage (disponível no site do Nodebox), de modo a criar vários layers de cada bloco de variáveis, e alinhar cada layer consoante a sua posição no “canvas”.
size(500, 500)
for x, y in grid (10, 10, 50, 50):
scale(y/300.)
fill()
oval(10+x, 10+y, 20, 20)
reset()
print y/300.
[video]