Você está na página 1de 8

[Digite texto]

Desenvolvendo aplicaes orientadas a objetos no E3 - Parte I.


1) Introduo Com o surgimento do E3 e sua nova maneira de desenvolver aplicaes, muitos projetos que antes se tornavam demorados por sua complexidade e extenso, agora podem ser desenvolvidos muito mais rapidamente. tili!ando os recursos de orientao a o"jetos e as novas "i"liotecas dispon#veis no E3, $ poss#vel criar projetos claros e o"jetivos e redu!ir drasticamente o tempo de manuteno. %este artigo, veremos algumas t$cnicas para aproveitar o que &' de mel&or no novo paradigma de programao do E3.

2) Definindo a arquitetura do projeto (rimeiramente o desenvolvedor deve se perguntar) *+uais partes da aplicao que sero repetidas,*, *- que eu poderia tornar em o"jetos parametri!'veis,*. .s respostas mais comuns a estas perguntas so)

-"jetos de tela como "om"as, v'lvulas, elevadores, silos etc. /elas, s0 mudando a sua parametri!ao 1tags associados aos o"jetos2. -"jetos de dados, como alarmes, tags, &ist0ricos etc.

3as mesmo criando estes o"jetos voc4 pode estar se perguntando) *+uais so as vantagens deste tra"al&o,*. 5ejamos)

/udo em uma s0 6onte 1altera7se na de6inio e onde ele $ utili!ado $ modi6icado automaticamente2. -"jetos 6ormados por outros o"jetos. Criao de propriedades. 8eutili!ao dos o"jetos em outros projetos.

5oc4 ir' notar que con6orme 6or aumentando a sua experi4ncia de utili!ao das "i"liotecas do E3, cada ve! mais o tempo de engen&aria ser' voltado para o aprimoramentos dos o"jetos e no mais na aplicao em si, pois modi6icando a "i"lioteca automaticamente a aplicao $ atuali!ada tam"$m. (or$m, antes de darmos 4n6ase para a criao de o"jetos, temos que revisar como so utili!adas as associaes de propriedades.

3) Conceitos bsicos para o desenvolvimento de objetos (ara o desenvolvimento de o"jetos, primeiramente temos que entender os conceitos "'sicos so"re associaes, recursos de animao e do modo em que so utili!ados dentro do E3. (ara isto, utili!aremos pro"lemas como exemplos de como 6a!er e de como no 6a!er. Problema 1 Desejo 6a!er com que um texto aparea com as palavra *9igado* quando o tag associado 6or : e *Desligado* quando ele 6or ;. .dicionalmente as palavras devem aparecer com as cores verde e vermel&o, respectivamente. Como !"# $%&'( isso) criar dois o"jetos texto, um deles com a cor do texto em verde e outro em

[Digite texto]

vermel&o, um so"re o outro, am"os tem uma associao da propriedade )isible com o mesmo tag, por$m com condies inversas, como segue)

Figura 1 - Configurao incorreta de um conjunto ligado/desligado

(ara um conjunto apenas de texto ligado<desligado isto pode parecer simples, mas imagine se tivermos algo do tipo)

Figura 2 - Configurao incorreta de vrios conjuntos ligado/desligado

Com apenas = conjuntos j' temos nada menos que :> o"jetos e :> associaes. 5eja que a edio do aplicativo comea a 6icar complicada, pois temos o"jetos so"repostos. ?e por exemplo o nome do tag associado em um conjunto mudar, teremos que atuali!'7lo nas suas duas associaes. Como $%&'( isso) criar apenas um o"jeto texto, com duas associaes)

.ssociao digital da propriedade )alue com o tag, sendo que esta setar' o valor *9igado* quando o tag estiver com o valor : e *Desligado* quando ele estiver com ;. .ssociao digital da propriedade *e+tColor com o tag, sendo que ela setar' verde quando o tag estiver com o valor : e vermel&o quando ele estiver com ;.

[Digite texto]

5ejamos a seguir como 6icou a con6igurao da associao digital da propriedade )alue)

Figura 3 - Configurao correta da associao Value para o objeto ligado/desligado

E tam"$m da associao digital da propriedade *e+tColor)

Figura

- Configurao correta da associao !e"tColor para o objeto ligado/desligado

[Digite texto]

Como no exemplo anterior, criaremos mais cinco c0pias para visuali!armos como 6ica)

Figura # - Configurao correta de vrios conjuntos ligado/desligado

Desta maneira, conseguimos ver mel&or os "ene6#cios da associao ter sido 6eita em apenas um o"jeto ao inv$s de dois)

.gora temos apenas seis o"jetos na tela. . edio 6oi 6acilitada pois no existem mais o"jetos so"repostos, a con6igurao da cor 6ica em um lugar apenas. Caso o nome do tag mude, s0 necessitamos mudar as duas associaes em um s0 o"jeto.

.inda assim, o ideal no seria que eu tivesse apenas que 6a!er modi6icaes em apenas um lugar, Essa questo vai ser resolvida mais adiante com o uso de "i"liotecas.

Problema 2 Como posso 6a!er para que um desen&o de um camin&o percorra um camin&o pr$7 esta"elecido de acordo com a variao do valor de um tag, - tag vai assumir valores digitais de ; at$ 3. Como !"# $%&'( isso) criar quatro camin&es 1o"jetos Dra,Picture2, e em cada um deles con6igurar uma conexo simples da propriedade )isible ao tag, s0 variando um pouco a condio verdadeira, como segue)

[Digite texto]

Figura $ - Configurao incorreta do primeiro camin%o da animao

Figura & - Configurao incorreta do 'ltimo camin%o da animao

Esta a"ordagem 6unciona per6eitamente, por$m no $ otimi!ada, pois)

Cria quatro conexes com a 6onte 1caso a 6onte mude, teremos que mudar as quatro conexes2. Caso o valor do tag possa no 6uturo ter sua preciso aumentada, isto $, ten&a uma maior n@mero de com"inaes, teremos que colocar mais camin&es. Caso ten&amos que mudar a posio inicial do o"jeto, teremos que mover os outros o"jetos tam"$m.

(oder#amos ainda tentar 6a!er uma implementao um pouco mais otimi!ada, como deixar somente um @nico o"jeto e criar uma conexo anal0gica da propriedade - do camin&o ao tag, como segue)

[Digite texto]

Figura ( - Configurao incorreta um pouco mel%orada da animao do camin%o

Ento como con6igurado acima, o E3 6ar' um converso do valor do tag para o valor da propriedade, sendo assim quando o ag variar de ; a 3, automaticamente valores entre A;; e A;;; sero atri"u#dos para a propriedade - do camin&o, 6a!endo o movimento. 3as ainda assim temos um pro"lema nesta soluo) como sa"er especi6icar com exatido onde terminar' a animao, . resposta vem a seguir. Como $%&'( isso) selecionamos a imagem e clicamos no "oto *.nimar com /ranslao*. E3?tudio criar' uma imagem *6antasma* do desen&o indicando sua posio 6inal. Ca"e salientar que o o"jeto *camin&o* no -rgani!er 6ica dentro de um novo o"jeto c&amado D.namic/ove. tili!amos o quadrado verde que 6ica no centro do o"jeto para posicion'7lo onde desejado. Con6igure as propriedade (an0e/a+ e (an0e/in do D.namic/ove para *3* e *;* respectivamente e crie uma conexo simples da propriedade )alue para o tag como mostrado a seguir)

Figura ) - Configurao correta da animao do camin%o

[Digite texto]

Bsto 6ar' com que automaticamente o o"jeto se desloque de um lugar para outro, tra!endo as seguintes vantagens)

. imagem *6antasma* indica a posio 6inal do camin&o de uma maneira intuitiva e clara. ?e 6or necess'rio mover a posico inicial do o"jeto, a posio 6inal $ deslocada automaticamente. C poss#vel testar a movimentao alterando7se o valor da propriedade )alue do D.namic/ove durante a edio no E3?tudio.

Problema 3 Como 6a!er uma animao do estado de uma "om"a atrav$s da mudana da sua cor, (or exemplo, digamos que ten&amos tr4s estados) *ligada*, *desligada* e *em manuteno*, com as cores verde, vermel&a e cin!a respectivamente. Como !"# $%&'( isso) criando tr4s "itmaps com as tr4s cores e 6a!endo uma conexo simples da propriedade )isible com o tag 1parecido com o 6eito no pro"lema :2, cada "itmap tem uma cor con6igurada como cor transparente, como segue)

Figura 1* - Configurao incorreta para mudar a cor de uma bomba

%este exemplo colocamos as "om"as lado a lado apenas por clare!a, pois eles estariam que estar so"repostos. Esta a"ordagem cont$m os seguintes pro"lemas)

/emos tr4s "itmaps e se tivermos que modi6icar seu desen&o, teremos que e6etuar as modi6icaes nas tr4s verses, por exemplo) se quisermos mudar de verde para a!ul o estado de ligado, teremos que modi6icar o "itmap 6onte. /emos tr4s conexes para o mesmo tag, se o nome do tag 6or modi6icado, teremos que alter'7lo nas tr4s conexes. . edio tam"$m 6ica complicada pois temos tr4s o"jetos so"repostos.

[Digite texto]

Como $%&'( isso) no E3 deve7se sempre dar prioridade a arquivos com o 6ormato D3E 1DindoFs 3etaEile2, pois $ poss#vel modi6icar suas caracter#sticas de desen&o como cor e tipo do preenc&imento sem alterar o arquivo fonte. Ento para resolver este pro"lema colocar o D3E na tela e 6a!er uma conexo por ta"ela da propriedade #verride$illColor com o tag, como segue)

Figura 11 - Configurao correta para mudar a cor de uma bomba

.l$m dos "ene6#cios deste tipo de associao com os j' explicados no pro"lema :, a utili!ao de arquivos do 6ormato D3E tem as seguintes vantagens em relao aos "itmaps)

C poss#vel rede6inir o tipo de preenc&imento do D3E atrav$s da propriedade #verride$ill/ode para *Dire6rame*, *?olidEill* ou *GHGrig&tness*. C poss#vel rede6inir a cor do preenc&imento do D3E. C poss#vel rede6inir a cor da lin&a do D3E. C vetorial, portanto no perde resoluo mesmo quando 6or e6etuado um !oom.

Como dito anteriormente, todas essas modi6icaes no desen&o no modi6icam o arquivo original, apenas a maneira que o desen&o $ visuali!ado. 5oc4 pode estar se perguntando) mas o que acontece se eu necessitar ter v'rios destes o"jetos con6igurados na min&a aplicao e necessitar modi6ic'7los depois de algum tempo as suas de6inies, /ero que serem modi6icados um a um, /odas essas d@vidas sero esclarecidas na (arte BB deste documento. (ara isto, acesseI

Você também pode gostar