Autor: andrey silva souza
duration e by
23 de Janeiro de 2008, 14:00 - | 1 Pessoa seguindo este artigo.
Visualizado 19 vezes
Blz....na norma explica os valores para "duration" em segundos, mas quanto a "by" fica meio vago. Quais são seus valores possíveis e como a mudança de um traibuto pode ser linear ou passo a passo? Agradeço desde ja
2020 comentários
Quem faz o cálculo dos valores de acordo com o tempo especificado pelo autor é a máquina de apresentação. Isso cria uma animação, uma vez que os valores são graduamente incrementados. A forma desse incremento pode ser linear ou discreta. Quanto by tem um valor (discreta), para o exemplo anterior da mudança de posição da região, a animação ainda poderia existir, mas nesse caso o usuário veria saltos no posicionamento da região até o valor final. Como sugestão, tem alguns exemplos no tutorial que vc poderia modificar colocando o duration e by para entender melhor. Romualdo.
Carlos
- figuraSilaba1 for selecionada (onSelection);
- E a propriedade "silaba" do nó settings for igual a 1 (o que me diz para ONDE mover a sílaba);
- E a propriedade "selecionado" da figuraSilaba1 for igual a "false"
Faça:
- posicione figuraSilaba1 (usando um "set" na propriedade "bounds") na posição final da primeira sílaba usando "duration" para dar um efeito de animação;
- usando um outro "set", modifique a propriedade "silaba1" do nó settings para o valor da sílaba correspondentes à figuraSilaba1
- usando um outro "set", modifique a propriedade "selecionado" do nó de mídia figuraSilaba1 para true (garantindo que o usuário não pode mais escolher esse nó) 4) Agora um detalhe chato: acho que vai precisar de n^2 elos como o acima já que vai ter que ter n elos para cada n posições possíveis de sílabas. Dá para evitar isso com um GOT de propriedade mas tenho que pensar mais. Sei que tem dúvidas. Estou a postos. Carlos
<connectorParam name="silabaParam"/> parametro para o numero da silaba = 1 a n
<connectorParam name="durParam"/> parametro para a duracao da atribuicao
<connectorParam name="varParam"/> parametro para o valor a ser redimensionado
<compoundCondition operator="and">
<simpleCondition role="onSelection"/> condicao do elo eh a selecao
<assessmentStatement comparator="eq"> assessment para comparar se o papel attTest igual ao parametro silabaParam
<attributeAssessment role="attTest" eventType="attribution" attributeType="nodeProperty"/>
<valueAssessment value="$silabaParam"/>
</assessmentStatement>
<assessmentStatement comparator="eq"> assessment para comparar se o papel attNotSelected eh igual ao valor false
<attributeAssessment role="attNotSelected" eventType="attribution" attributeType="nodeProperty"/>
<valueAssessment value="false"/>
</assessmentStatement>
</compoundCondition>
<simpleAction role="set" value="$varParam" duration="$durParam" max="unbounded"/> atribui o valor varParam com duracao de durParam
</causalConnector> E agora o elo vai ser usado assim: <link xconnector="onSelectionAttTestAttNotSelectedSetDur">
<bind role="onSelection" component="figuraSilaba1"/>
<bind role="attTest" component="nodeSettings" interface="silaba">
<bindParam name="silabaParam" value="1"/>
</bind>
<bind role="attNotSelected" component="figuraSilaba1" interface="selecionado"/>
<linkParam name="durParam" value="0s"/> o valor default do parametro durParam eh 0s
<bind role="set" component="figuraSilaba1" interface="bounds">
<bindParam name="varParam" value="..."/> aqui coloco a nova posicao no lugar de ...
<bindParam name="durParam" value="2s"/> coloquei 2s ... mude para oque achar melhor
</bind>
<bind role="set" component="nodeSettings" interface="silaba1">
<bindParam name="varParam" value="1"/>
</bind>
<bind role="set" component="figuraSilaba1" interface="selecionado">
<bindParam name="varParam" value="true"/>
</bind>
</link> Continue contando comigo até que sua aplicação esteja terminada!
<head>
<regionBase>
<region id="fundo">
<region id="fig" left="25%" width="50%" top="25%" height="50%"/>
</region>
</regionBase>
<descriptorBase>
<descriptor id="d_fig" region="fig" explicitDur="10s"/>
</descriptorBase>
<connectorBase>
<causalConnector id="onEndStart">
<simpleCondition role="onBegin" delay="3s"/>
<simpleAction role="setdur" eventType="attribution" actionType="set" value="0" duration="5s" by="indefinite" max="unbounded" qualifier="par"/>
</causalConnector>
</connectorBase>
</head> <body>
<port id="p_video" component="m_fig"/>
<media id="m_fig" src="TV.png" descriptor="d_fig">
<property name="top"/>
</media>
<link id="redimensionar1" xconnector="onEndStart">
<bind role="onBegin" component="m_fig"/>
<bind role="setdur" component="m_fig" interface="top"/>
</link>
</body>
</ncl>
<connectorParam name="var"/>
<connectorParam name="dur"/>
<simpleCondition delay="3s" role="onBegin" />
<simpleAction duration="5s" role="set" value="$var" />
</causalConnector> 2. E modifique o link passando os parâmetros: <link id="redimensionar1" xconnector="onBeginStart">
<bind component="m_fig" role="onBegin"/>
<bind component="m_fig" interface="top" role="set">
<bindParam name="var" value="0"/>
<bindParam name="dur" value="5s"/>
</bind>
</link> Creio que actionType="set" não existe na Norma. o certo seria actionType="start", se não me engano!
<head>
<regionBase>
<region id="fundo">
<region id="fig"/>
</region>
</regionBase>
<descriptorBase>
<descriptor id="d_fig" region="fig"/>
</descriptorBase>
<connectorBase>
<causalConnector id="onBeginSet">
<connectorParam name="var"/>
<connectorParam name="vDuration"/>
<connectorParam name="vBy"/>
<simpleCondition role="onBegin"/>
<simpleAction role="set" value="$var" max="unbounded" duration="$vDuration" by="$vBy"/>
</causalConnector>
</connectorBase>
</head> <body>
<port id="p_video" component="m_fig"/>
<media id="m_fig" src="TV.png" descriptor="d_fig">
<property name="bounds"/>
</media>
<link id="redimensionar1" xconnector="onBeginSet"> <bind component="m_fig" role="onBegin"/>
<bind component="m_fig" interface="bounds" role="set">
<bindParam name="var" value="50%,50%,0,0"/>
<bindParam name="vDuration" value="5s"/>
<bindParam name="vBy" value="indefinite"/>
</bind> </link>
</body>
</ncl> Mais uma vez, agradeço pela ajuda de todos. A batalha continua Abraços