1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-28 01:12:20 +01:00
Files
archived-doc-es/reference/ming/swfaction.xml
Richard Quadling 1fa367dd0d Native EOL
Use consistent line terminator.


git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@317671 c90b9560-bf6c-de11-be94-00142212c4b1
2011-10-03 16:59:17 +00:00

457 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4724b47c25b48f509355d27291aa6893ad0b40c0 Maintainer: seros Status: ready -->
<phpdoc:classref xmlns:phpdoc="http://php.net/ns/phpdoc" xml:id="class.swfaction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>La clase SWFAction</title>
<titleabbrev>SWFAction</titleabbrev>
<partintro>
<!-- {{{ SWFAction intro -->
<section xml:id="swfaction.intro">
&reftitle.intro;
<para>
SWFAction.
</para>
</section>
<!-- }}} -->
<section xml:id="swfaction.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass><classname>SWFAction</classname></ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>SWFAction</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.swfaction')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
<section>
&reftitle.description;
<para>
La sintaxis de script está basada en el lenguaje C, pero con mucho extraído- la
máquina de código de bytes de SWF es demasiado ingenua para hacer muchas cosas que nos gustaría.
Por ejemplo, no podemos implementar llamadas a funciones sin una enorme
cantidad de hackery ya que el código de bytes de salot tiene un valor de índice fuertemente
codificado. No se puede introducir sus direcciones de llamada a la pila y devolver-
cada función tendría que saber exactamente dónode devolver.
</para>
<para>
Entonces, ¿qué falta? El compilador reconoce los siguientes tokens:
<itemizedlist>
<listitem>
<simpara>
break
</simpara>
</listitem>
<listitem>
<simpara>
for
</simpara>
</listitem>
<listitem>
<simpara>
continue
</simpara>
</listitem>
<listitem>
<simpara>
if
</simpara>
</listitem>
<listitem>
<simpara>
else
</simpara>
</listitem>
<listitem>
<simpara>
do
</simpara>
</listitem>
<listitem>
<simpara>
while
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
No existe información de tipo; todos los valores de la máquina de acciones de SWF están almacenados
como cadenas. Las siguientes funciones se pueden usar en expresiones:
<variablelist>
<varlistentry>
<term>time()</term>
<listitem>
<simpara>
Devuelve el número de milisegundos (?) transcurridos desde el incio de la película.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>random(seed)</term>
<listitem>
<simpara>
Devuelve un número seudo-aleatorio en el rango de semilla 0.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>length(expr)</term>
<listitem>
<simpara>
Devuelve la longitud de la expresión dada.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>int(number)</term>
<listitem>
<simpara>
Devuelve el número dado redondeado hacia abajo al entero más cercano.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>concat(expr, expr)</term>
<listitem>
<simpara>
Devuelve la concatenación de las expresiones dadas.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>ord(expr)</term>
<listitem>
<simpara>
Devuelve el código ASCII del carácter dado
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>chr(num)</term>
<listitem>
<simpara>
Devuelve el caráctar del código ASCII dado
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>substr(string, location, length)</term>
<listitem>
<simpara>
Devuelve la subcadena de longitud <parameter>length</parameter> en la ubicación <parameter>location</parameter> del
la cadena <parameter>string</parameter> dada.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
Además, se pueden usar los siguientes comandos:
<variablelist>
<varlistentry>
<term>duplicateClip(clip, name, depth)</term>
<listitem>
<simpara>
Duplica el <parameter>clip</parameter> de película nominado (también conocido como sprite). El nuevo clip de película tiene el nombre de <parameter>name</parameter>
y profundidad de <parameter>depth</parameter>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>removeClip(expr)</term>
<listitem>
<simpara>
Elimina el clip de película nominado.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>trace(expr)</term>
<listitem>
<simpara>
Escribe la expresión dad la registro de rastreo. the given expression to the trace log. Dudoso ya
que el plugin del navegador no hace nada con esto.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>startDrag(target, lock, [left, top, right, bottom])</term>
<listitem>
<simpara>
Empieza a dibujar el clip de película <parameter>target</parameter>. El argumento
<parameter>lock</parameter> indica si
bloquear el ratón (?)- use 0 (&false;) o 1 (&true;). Los parámetros opcionales
definen un área circundante para el dibujo.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>stopDrag()</term>
<listitem>
<simpara>
Deja de arrastrar mi corazón. Y este clip de película, también.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>callFrame(expr)</term>
<listitem>
<simpara>
Llama al fotograma nominado como una función.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>getURL(url, target, [method])</term>
<listitem>
<simpara>
Carga la URL dada en el objetivo nominado. El argumento <parameter>target</parameter>
se corresponde con los objetivos del documento HTML (como "_top" or "_blank").
El argumento opcional <parameter>method</parameter> puede ser POST o GET si se quieren enviar
variables al servidor.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>loadMovie(url, target)</term>
<listitem>
<simpara>
Carga la URL dada en el objetivo nominado. El argumento <parameter>target</parameter> puede ser un
nombre de fotograma (creo), o uno de los valores mágicos "_level0" (reemplaza
la película actual) o "_level1" (carga la nueva película encima de la película actual).
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>nextFrame()</term>
<listitem>
<simpara>
Va al siguiente fotograma.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>prevFrame()</term>
<listitem>
<simpara>
Va al último (o, mejor dicho, al previo) fotograma.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>play()</term>
<listitem>
<simpara>
Inicia la reproducción de la película.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>stop()</term>
<listitem>
<simpara>
Detiene la reproducción de la película.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>toggleQuality()</term>
<listitem>
<simpara>
Conmuta entre alta y baja calidad.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>stopSounds()</term>
<listitem>
<simpara>
Detiene la reproducción de todos los sonidos.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>gotoFrame(num)</term>
<listitem>
<simpara>
Va al fotograma número <parameter>num</parameter>. Los números de fotograma empiezan en 0.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>gotoFrame(name)</term>
<listitem>
<simpara>
Va al fotograma llamado <parameter>name</parameter>. Que lo hace muy bien, ya que yo
no he añadido etiquetas de fotogramas todavía.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>setTarget(expr)</term>
<listitem>
<simpara>
Establece el contexto para la acción. O como se diga- No tengo ni idea
de los que hace.
</simpara>
</listitem>
</varlistentry>
</variablelist>
Y hay una cosa rara extra. La expresión frameLoaded(num) se puede usar
en sentencias if y bucles while para verificar se el número de fotograma dado ya
ha sido cargado. Bien, se supone que sí, de todos modos, nunca lo he probado y
dudo seriamente que realmente funcione. En su lugar puede usar /:framesLoaded instead.
</para>
<para>
Los clips de película (ahora todos juntos- también llamados sprites) tienen propiedades. Se pueden
leer todos, establecer algunos de ellos, y aquí
están:
<itemizedlist>
<listitem>
<simpara>
x
</simpara>
</listitem>
<listitem>
<simpara>
y
</simpara>
</listitem>
<listitem>
<simpara>
xScale
</simpara>
</listitem>
<listitem>
<simpara>
yScale
</simpara>
</listitem>
<listitem>
<simpara>
currentFrame - (solo lectura)
</simpara>
</listitem>
<listitem>
<simpara>
totalFrames - (solo lectura)
</simpara>
</listitem>
<listitem>
<simpara>
alpha - nivel de transparencia
</simpara>
</listitem>
<listitem>
<simpara>
visible - 1=on, 0=off (?)
</simpara>
</listitem>
<listitem>
<simpara>
width - (solo lectura)
</simpara>
</listitem>
<listitem>
<simpara>
height - (solo lectura)
</simpara>
</listitem>
<listitem>
<simpara>
rotation
</simpara>
</listitem>
<listitem>
<simpara>
target - (solo lectura) (???)
</simpara>
</listitem>
<listitem>
<simpara>
framesLoaded - (solo lectura)
</simpara>
</listitem>
<listitem>
<simpara>
name
</simpara>
</listitem>
<listitem>
<simpara>
dropTarget - (solo lectura) (???)
</simpara>
</listitem>
<listitem>
<simpara>
url - (solo lectura) (???)
</simpara>
</listitem>
<listitem>
<simpara>
highQuality - 1=high, 0=low (?)
</simpara>
</listitem>
<listitem>
<simpara>
focusRect - (???)
</simpara>
</listitem>
<listitem>
<simpara>
soundBufTime - (???)
</simpara>
</listitem>
</itemizedlist>
Así, establecer la posición de un sprite es tan sencillo como <literal>/box.x = 100;</literal>.
Aunque ¿por qué la barra al inicio de box? Así es como flash sigue
la pista de los sprites en la película, como un sistema de archivos Unix-
aquí muestra que box está en el nivel superior. Si el sprite llamado
box tiene otro sprite llamado biff dentro de él, se debería establecer su
position x con /box/biff.x = 100;. Al menos eso creo; corríjame
si me equivoco.
</para>
</section>
</partintro>
&reference.ming.entities.swfaction;
</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->