Inicio arrow Foro
woolich ulich
Usuario
Mensajes: 6
graphgraph
Karma: 1  
Log Clase 3 sobre Scripting - 2007/09/21 00:36 Log de la clase 2 sobre scripting.
Los paneles gráficos que he utilizado durante la clase los pondre dentro de una caja en el sandbox de primeros pasos ya que he tenido algunos problemas al intentar subirlos aquí.
Pasaros por el sandbox, pulsad la caja y os dará las texturas de los paneles.
LOG -------------------------------------------------

You: y empezamos la clase
You: de hoy
You: hoy vamos a dar una introducción a las funciones y a las variables
You: es un tema importante, asi que si alguien no entiende algo que lo diga
You: lo que vamos a ver hoy os puede ser util también para otros lenguajes de programación
xaray Rosse: hola
Khesha Daldry: GRACIAS
You: y probablemente nos quedemos una temporadilla con esto, antes de seguir con temas más avanzados, ya que esto forma parte de la base de los scripts
You: y de la programación en general
You: y es mejor que entendáis bien esto antes de seguir
You: probablemente las clases siguientes las dediquemos a ir describiendo algunas de las funciones de los scripts y a hacer practicas
You: ok
You: si recordais la primera clase
You: os comenté que los scripts se dividen en bloques
You: tomando como base el script del panel de la izquierda del todo, recordad que comentabamos
You: que al bloque principal lo formaba el estado default
You: y el contenido entre sus llaves
You: y que dentro de ese estado, teníamos dos bloques más
You: que son los eventos state_entry y touch_start
You: pues bien
You: las funciones, también son bloques de código
You: normalmente esos bloques de código, están separados del bloque principal del programa, y su utilidad reside en la optimización de los programas
You: y en reutilizar código que se utiliza muchas veces en un mismo programa
You: hay algunas funciones que ya están definidas dentro del lenguaje de scripts, y que son las que utilizaremos normalmente y en las que nos vamos a fijar hoy
You: no obstante, nosotros también podemos crear nuestras propias funciones
You: ahora, fijaros en el script del panel de en medio
You: en este script podeis ver que tenemos dos bloques de código, que son dos eventos
You: dentro del bloque principal
You: y si os fijais, cada uno de los eventos tiene en su código una línea con la misma palabra ( llSetText ) pero, con un "mensaje" distinto
You: recordad, que esa palabra ( llSetText) es la que utilizabamos para poner el texto flotante que aparece encima de las prims
You: pues bien, ese texto, y todo lo que tiene entre parentesis es una LLAMADA a una función
You: normalmente, nos referiremos a ella, como una función
You: y lo vereis así en toda la documentación que leais
You: pero la verdad es que es una LLAMADA a una función
You: y que es una función? la función en si, el el bloque de código al que llama, o por decirlo de alguna manera, el bloque de código al que salta
You: porque para poder poner encima de una prim un texto flotante, en realidad hace falta mucho más código que el que vosotros veis
ryo Pollock: solo q esa funcion es IISetTex y ay esta implementada y documentada no?
You: pero ese código está en los servidores de Linden, es por decirlo de alguna manera, una capa de código que nosotros no vemos, pero que si podemos utilizar
You: no, no está implementada ahí, está implementada en los servidores de Linden, en los sims, y nosotros, hacemos uso de ella
ryo Pollock: ok
You: ahora fijaros bien en el script
You: y pensar , según lo que habíamos visto hasta ahora
You: en cómo funciona
You: cuando empieza la ejecución del script... el primer código que ejecuta es el código contenido en el estado state_entry
You: y como veis ahí, en ese estado lo que encontrais es la linea llSetText
You: esa línea en si, por si sola, no puede ponernos el texto encima de una prim
You: lo que hace en realida, es "pegar un salto" a un código... (que nosotros no vemos) que está en los servidores de Linden
You: y le pasa a ese código los parámetros que tiene entre parentesis
You: esos parámetros, son tres... primero el texto que ha de poner..., segundo el color en que ha de poner ese text... y tercero la opacidad de ese texto
Maddoxx Barbosa: y eso sirve para crear menus?
ryo Pollock: ajam
You: y ese código que no vemos, es el que realmente hace el trabajo de poner el texto sobre la prim
You: no, no sirve para los menus
Maddoxx Barbosa: ok
You: y ese código, es la FUNCION
You: y nuestra linea que tiene llSetText, es UNA LLAMADA A LA FUNCION
You: aunque normalmente nos referiremos y vereis que toda la documentación se llama directamente a esa línea como la función
You: en cuanto ese código que no vemos, acabó su trabajo... vuelve de nuevo a nuestro script
You: entonces el script, se queda parado
You: en espera que un avatar pulse sobre la prim
You: en cuanto un avatar, pulsa la prim, veis que se repite la llamada a la función llSetText, pero con un texto distinto
You: de la misma manera que lo hizo en el stado state_entry
You: entonces, para qué sirven las funciones?
ryo Pollock: para estructurar el codigo
You: pues por una parte sirven para hacer el código más claro al ser más modular, pero además veis que hay una reutilización de código
You: si el código que utilizamos para la funcion llSetText, tuviesemos que repetirlo siempre que necesitamos un texto flotante
You: nos quedaría un script enorme
You: y probablemente imposible de realizar
You: de esta manera, lo que hacemos es retutilizar un código que siempre hace los mismo, pero con unos datos distintos
You: más adelante vereis que hay cantidad de funciones en el lenguaje de scripts
You: y que serán las que utilicemos habitualmente
Amaro Rau: hola todos
ryo Pollock: donde podemos conseguir la documentacion parametros etc de esas funciones?
You: y vereis también , que nosotros podremos implementar también nuestras funciones para reutilizar código cuando tengamos que hacer un trabajo repetitivo
You: en el wiki de SL
ryo Pollock: ok asias
You: o en www.lslwiki.net
You: cada función tiene su sintaxis
You: y la única manera de conocer la sintaxis de las funciones de SL, es acudir a alguna fuente de referencia, como las que dije antes
You: el wiki de SL o por ejemplo www.lslwiki.net
ryo Pollock: ok
You: eso si, tened en cuenta que esas no son páginas de iniciación, son paginas que contienen una información para gente que ya sabe programar
You: no están pensadas para aprendizaje
You: otra de las características de las funciones, es que nos pueden devolver datos o no
You: según sean las funciones
You: por ejemplo , podeis ver que llSetText no nos devuelve nada, a parte claro está de poner un texto flotante sobre una prim
You: pero hay otras, que sí nos devuelven ciertos datos, como puede ser el nombre del avatar que ha pulsado esa prim
You: o por ejemplo una función que hay para saber la hora, pues nos devuelve la hora con un cierto formato
You: y cuando nosotros implementemos nuestra funciones
sonsy20 Allen: ok
You: también podremos obtener resultados, procedentes las operaciones que se ejecutan en el código que hay dentro de ellas
You decline Impact mode, Granville (184, 109, 93) from A group member named Lucia Straaf.
You: las funciones , hay una manera de documentarlas
You: en el panel de la drecha, abajo del todo
You: teneis lo que sería la información de referencia de dos funciones de las que hay en SL
You: pero antes de explicaros eso
You: os voy a explicar el tema de las variables
You: alguien tiene dudas sobre las funciones?
ryo Pollock: nop
You: ok
You: entonces sigo
ryo Pollock: yo no vamos
You: vamos a pasr ahora al tema de las variables
You: es un tema distinto al de las funciones, pero al fina
You: vereis como juntamos los dos
You: normalmente los scripts, y los programas en general están hechos para procesar datos
Xopep Yip: yo woolich que he llegado tarde cuando dices funciones es "state_entry" o "Ilsettext"??
You: llSetText
Xopep Yip: guay
You: y después de procesar esos datos, devolver unos resultados
You: para ello, los scripts tienen que mover esos datos para poder realizar operaciones
You: fijaros en el panel de la derecha
You: la parte de arriba
You: y el cuadro de la izquierda
You: es un script muy parecido a los que vamos viendo hasta ahora
You: pero ahí hemos añadido algunas lineas nuevas que no conoceis
You: y eso, s que hemos añadido nuevo son las variables
You: para que lo entendais mejor
You: imaganaos que las variables son cajas
You: y que en esas cajas, podemos meter ciertos valores
You: en algunas partes del programa, tomaremos los valores de esas cajas, haremos las operaciones que necesitemos
You: y dejaremos los resultados en otras cajas, o en las mismas cajas, para usarlos posteriormente
sonsy20 Allen: ok
You: para poder utilizar esas cajas
You: antes tenemos que decirle a los script QUE cajas vamos a utilizar, y COMO son esas cajas
You: no podemos llegar en el momento en que a nosotros nos parezca bien, ya ala!!! utilizamos una de las cajas sin haber avisado al script que lo ibamos a hacer
You: bien, ahora fijaros en la primera líneas del script, no en los comentarios eh?
ryo Pollock: lol
You: si no en la que pone "string nombreavatar;"
You: esa, es una definición de una variable
You: ahí, estamos avisando al script que vamos a utilizar una variable que se llama "nombreavatar" y le estamos diciendo adeás de qué TIPO es
You: el tipo es "string" y ese tipo ... es el que se utiliza cuando vamos a utilizar una variable para meter una cadena de caracteres
You: una cadena de caracteres es por ejemplo una frase
You: un nombre
You: etc
You: más adelante, detallaré más esto de los tipo
You: pero que sepais, qeu la palabra "string" es el TIPO de la variable y la palabra "nombreavatar" es el nombre QUE NOSOTROS LE DAMOS
ryo Pollock: ok
You: y podemos ponerle el nombre que nosotros queramos
ryo Pollock: hay alguna restriccion para dar nombre a las variables?
You: siempre y cuando , ese nombre no coincida con algunas palabra que ya están reservadas
You: por ejemplo nunca podremos poner a una variable el nombre llSetText, porque ese nombre ya pertenece a una funcion de los scripts
You: además, no podremos utilizar ciertos caracteres como puede ser ";" (dos puntos) la ñ (eñe) caracteres con acentos , etc
ryo Pollock: ok
You: si alguna vez utilizais algún caracter que no es valido, el programa os avisará con un error de sintaxis
You: y tendreis que cambiar ese nobre
You: nombre
sonsy20 Allen: ok
You: siguiendo con el código del script
You: veis que DEFINIMOS dos variables más
You: las variables "a" y "b"
You: y que el tipo de esas variables es "integer" es decir , son variables que van a guardar valores numéricos
You: y además que esos valores numéricos van a ser número enteros
You: continuamos con el scrpt
You: veis como siempre, el estado default... eso es como siempre
You: luego, como ya sabeis, en cuanto empieza a "funcionar" el script, lo primero que se ejecuta es lo que está en el evento "state_entry"
You: ahí, en la primera línea , veis que ya le damos su primer valor a la variable "nombreavatar"
You: ya estamos metiendo un valor dentro de esa "caja" que en este caso es mi nombre
You: y se queda ahí
You: en la siguiente línea
You: le damos un valor a la variable (caja) "a", le damos el valor 1, con lo cual la variable "a" en este momento vale 1.
You: y en la siguiente línea veis que hacemos lo mismo con la variable "b", pero le damos el valor 2
ryo Pollock: y eso donde se guarda en ram o en lindem lab el 1 famoso?
You: se guarda en ram, pero en ram de los ordenadores de linden
ryo Pollock: ok
You: los scrips no se ejecutan en nuestros ordenadores, nunca.... los scripts se ejecutan en los servidores de Linden, es decir en los servidores de SL
You: la siguiente línea com oveis, es la famosa función llSetText
You: para poner el texto flotante
You: pero en esta ocasión, hay una diferencia
You: ya no le ponemos un texto entre comillas como hacíamos antes
You: si no que ponemos en su lugar la variable "nombreavatar"
You: sabeis ya lo que hace?
You: pues cuando se ejecuta esa llamada de función, en lugar de mandar a la función un texto fijo, lo que hacemos, es enviarle el contenido, es decir el VALOR de la variable "nombreavatar"
You: lo entendeis hasta aqui?
Uhura Tamura: si
ryo Pollock: sip
Amaro Rau: uf
You: que pasó Amaro?
ZICO Morigi: o sea,que podemos poner el texto flotante tambien de esa forma?
You: uf?
You: si
Amaro Rau: nadan.nada
malenah Mayo: +-
sonsy20 Allen:
You: ahora os puede parecer una tontería hacerlo así, pero ya vereis más adelante cuál es su utilidad
ZICO Morigi: en este caso saldria tu nombre ,claro
You: y según vayamos avanzando en las clases y haciendo practicas, ya vereis que sin variables, la informatica no existe
You: en este caso si, saldría mi nombre
You: weno, pos sigo
ZICO Morigi: perdon
You: pasa lo mismo que en ejemplos anteriores... el script se para
ZICO Morigi: lo de a y b
You: dime ZICO
ZICO Morigi: creo que no lo has terminado de explicar
You: por que?
ZICO Morigi: decias que los valores que le dabamos era 1 y 2
ZICO Morigi: ok?
ryo Pollock: juas
You: sip
ZICO Morigi: pero despues que ? se nos ha desviado la conversacion
ryo Pollock: eso fue antes
You: "a" vale 1, y "b" vale 2
ZICO Morigi: jeje ok
ryo Pollock: despues el touch_start
You: después nada... jejejje...
ZICO Morigi: ok jajajaja
You: la preguna es buena, aunque lo creais
ZICO Morigi: nadie se lo habia preguntado
You: ZICO se pregunta qué pasa con las variables "a" y "b" y con sus valores jejejej
You: pues simplemente, y hasta este momento no pasa nada
ryo Pollock: supongo q los valores se eliminan despues de acabar el script no?
ZICO Morigi: aki vamos empapandonos y luego veremos que hacemos con la sobredosis de informacion
You: no hemos hecho nada más que darles unos valores
You: porque ahora, el script se para... y se queda esperando que un avtar pulse la prim
You: si ningún avatar pulsa la prim hasta el final de los tiempo, resultará que las variables "a" y "b" han estado guardando unos valores para nada
You:
ryo Pollock: lol
You: eso sería com oel que fabrica un coche que nadie nunca va a conducir
You: mas o menos
ZICO Morigi: eso lo entiendo ves jejeje
ZICO Morigi: en cristiano
You:
You: malegro
You: jejejeje
ryo Pollock: lol
sonsy20 Allen: jkajkajka
You: ok, entonces sigo, para despejaros esa duda
You: como decía, en este momento, el script se para en espera de que algún avatar pulse sobre la prim
You: y en cuanto un avatar pulsa la prim, es cuando se ejecuta el código que hay dentro del evento touch_start
You: vamos al evento touch_start
You: veis la primera línea... hacemos lo mismo que al principio del programa
ryo Pollock: juas uan es local y las otras globales?
You: estamos definiendo, es decir , le estamos diciendo que vamos a utilizar una variable nueva que se llama "c"
You: a parti de ahora tneemos una nueva "cajita" donde guardar un valor "integer" , es decir un número "entero"
You: en la siguiente línea
You: veis que a la variable "c" ya le damos un valor
You: pero no se lo damos directamente como hicimos con "a" y "b",
You: si no que le damos el valor de la suma de "a" y "b"
You: en ese momento, el script lo que hace es tomar los valores de "a" que era 1, y el de "b" que era 2.
You: los suma
ZICO Morigi: y ya tenemos dentro de C , A+B ?
ZICO Morigi: ok
You: y el resultado lo deja en la variable "c"
You: exactamente
ZICO Morigi: es una union digamos?
You: no
You: es una suma
ZICO Morigi: entre state_entry y touch_star
You: una suma es una suma.... y una union es una union
ryo Pollock: y si son dos strings?
You: ah!!!
You: no
You: no es una unión realmente
You: tú estás tomando unos datos que están almacenados en el script
You: y los estás procesando en el evento touch_start
ZICO Morigi: aja si
You: en este caso
ZICO Morigi: entiendo ,una suma
You: esos datos se alamacenaro en el evento state_entry
You: pero en caso de un script más grande
ZICO Morigi: si
malenah Mayo: la variable c es la orden de sumar a y b ?
You: se podrían haber almacenado esos datos en cualquier otro lugar del script
ZICO Morigi: ok
You: no exactamente malenah
malenah Mayo: m
You: c almacena el resultado.... porque la ordena, es interna,
You: cuando el scrpt llega a esa línea
malenah Mayo: es otra caja?
You: en realidad, a nivel interno
You: si, es otra caja
malenah Mayo: ok
Khesha Daldry: un apregunta luego vas aponer esta clase en el foro?
You: a nivel interno, lo que se produce es la suma de "a" más "b"
ryo Pollock: juas hay un foro? lol
You: y ese resultado, se queda guardado en "c"
sonsy20 Allen: eso iba a preguntar
sonsy20 Allen: jkajka
malenah Mayo: ¡ok
You: en espera de que lo necesitemos
You: khesha, la pondré mañana casi seguro , hoy no voy a poder
sonsy20 Allen: ok
Khesha Daldry: vale es q me tengo a ir ahora q tengo una boda
You: seguimos con el script
ryo Pollock: lol
You: ok )))
Khesha Daldry: un saludo
You: bye
ryo Pollock: aio
You: pos seguimos
sonsy20 Allen: bye khesha
sonsy20 Allen: ok
You: en la siguiente línea, veis qeu le damos otro valor a la variable "nombreavatar"
You: le cambiamos el valor que tenía antes que era "Woolich" por un valor nuevo que es "Ulich"
You: y repetimjos la misma operación que en el evento anterior
You: llamamos a la función llSetText con el nuevo valor de "nombreavatar"
You: y ahí , se vuelve a parar el script, en espera de una neuva pulsación
You: y antes de que ZICO se pregunte qué pasa con "c", ya lo digo yo
ryo Pollock: lol
You: no hacemos absolutamente nada con "c" en este script
sonsy20 Allen: jkajka
ZICO Morigi: eso eso ,en cristiano plase jejeje
sonsy20 Allen:
You: y por qué no hacemos nada con el valor de "c", simplemente porque no quería liar más el script ni la clase
sonsy20 Allen: ok
sonsy20 Allen: pero ya la liaras mas no?
sonsy20 Allen: jkajka
Xopep Yip: si quiesemos que la suma apareciese ¿bastaria con poner c como valor de nombreavatar?
You: en este caso no hacemos nada, pero en otro caso podría ser que necesitásemos ver ese valor de alguna manera
You: no
You:
You: no valdría
sonsy20 Allen: ok
You: y dentro de un momento sabreis porqué
sonsy20 Allen: ;P
You: siguiendo en el panel ese, pero ahora en el cuadro de la derecha
ZICO Morigi: jejeje quien sera el asesino?
You: ahí os he puesto los tipos que que están soportados en el lenguaje de scripts de SL
You: esos son los unicos tipos que soporta el lenguaje de SL
You: si algún día os meteis con otros lenguajes
You: vereis que los hay que soportan más tipos u otros distintos
You: ok?
Xopep Yip: ok
ryo Pollock: ok
You: veis el primer tipo , que ya lo conoceis
You: que es el tipo "string"
You: ese tipo se utiliza para almacenar cadenas de caracteres
You: y teneis un par de ejemplos
You: y en ese par de ejemplos veis que las cadenas de caracteres van entre comillas
You: siempre, que se utilice una cadena de caracteres, ya sea en una función que lo exija
You: o al dar valor a una variable de tipo "string"
You: esa cadena de caracteres tendrá que ir dentro de comillas, eso forma parte de la SINTAXIS del lenguaje, recordais la sintaxis?
ryo Pollock: si
You: si por ejemplo cogeis un número por ejempolo 1234
sonsy20 Allen: ok
You: y ese número lo escribir entre comillas... asi... "1234" ese número ya no es tal número
You: si no que es una cadena de caracteres
You: el caracter 1 seguido del caracter 2 seguido de caracter 3 seguido del caracter 4
You: y no el número 1234
sonsy20 Allen: ok
You: y si ese número entre comillas, intentais sumarlo con un número integer, vais a tener un error
You: porque ese número entre comillas, para el ordenador no es un numero, sino una frase
You: ok?
You: en el scripting, tmabién hay algunas limitaciones con las frases o cadenas de caracteres qeu podeis utilizar
sonsy20 Allen: ok
You: por ejemplo hasta el momento no está soportados caracters como los que se utilizan en el lenguaje castellano
You: así que por ahora ya hasta que linden cambie eso, por jemeplo no podreis poner como texto flotante "ESPAÑA"
You: tendreis que poner "ESPANA"
You: porque el elnguaje no tiene soporte para la Ñ
You: y así con otro tipo de caracters como los acentos y otros
You: seguimos
You: con el siguiente tipo
You: es el tipo integer
sonsy20 Allen: ok
You: ese tipo se utiliza para definir variables de tipo numerico
You: pero esos numeros SOLO pueden ser enteros
You: ya sean negativos o positivos
You: en una variable de ese tipo no podreis meter un numero que tenga decimales
You: ok?
You: y veis algunos ejemplos
malenah Mayo: ok
You: y debajo de esos jemeplos
You: veis los limites de los numeros que podemos utilizar en el lenguaje de scripting de SL
You: el numero más pequeño que podemos utilizar
You: y el número más grande que podemos utilizar
You: ok?
Uhura Tamura: ok
You: el siguiente tipo es el tipo "float"
You: ese tipo, el tipo "float" se utiliza para almacenar números decimales como veis en los jemeplos
You: en ese si podeis meter decimales
You: y si poneis por ejemplo el valor 1 a una variable de tipo "float"
You: internamente ese núemro va a ser tratado como si fuese un numero con decimales
You: se tratará como si su valor fuese realmente 1.0
You: a simple vista, y según los conocimientos qeu teneis de matemáticas os puede parecer una tontería
You: porque 1 es lo mismo que 1.0
You: pero para los ordenadore no es lo mismo
sonsy20 Allen: ok
You: según su valor SI es lo mismo, lo que pasa que a nivel interno, los manejan de forma distinta, por motivos de arquitectura y de memoria
ryo Pollock: lol
You: y también veis ahí, sus límites máximo y mínimo
You: esos límites los he puesto en formato de coma flotante
sonsy20 Allen: ok
You: pensando que la mayoría de la gente se acordaría de sus tiempo de colegio y recordaría los número en notación científica
You: pero el martes pasado , me di cuenta que no era así
Uhura Tamura: )
Uhura Tamura: jaja
sonsy20 Allen: jkajka
You: asi que quizá cuando avancemos un poco más con los scripts
You: un día os de una pequeña clase de matemáticas para explicar el tema de la notación científica y los numeros en coma flotante
sonsy20 Allen: okis
Uhura Tamura:
You: por ahora no os preocupeis por que el rango es lo sufientemente amplio
sonsy20 Allen: ;P
You: como para que no tengais problemas a la hora de hacer cálculos
You: el siguiente tipo
You: es un tipo especial
ryo Pollock: lol
You: que solo se utiliza en SL
You: y es el tipo "key"
You: hoy , por falta de tiempo no os voy a explicar este tipo
You: lo iremos viendo sobre la marcha en clases futuras
Andaluza DeCuir: key igual aa huellaa digitaal del avaatar
You: pero que sepais que es muy importante también en SL
You: ma om eno
You: del avatar, y de TODO loq uehay en SL
You: todo lo que hay en SL, desde una simple prim, hasta los avatares tienen su propia KEY
You: probablemente os lo amplie en la clase siguiente
You: ya que casi seguro que en la clase siguiente haremos alguna practica con alguna función que requiera ese tipo de variable
sonsy20 Allen: ok
ryo Pollock: ok
You: y despues por ultimo
You: hay tres tipos más
You: el tipo "list"
You: el tipo "vector"
You: y el tipo "rotation"
You: esos los dejé asi, sin demasiada extensión porque por el momento se nos quedan un "poco grandes"
sonsy20 Allen: ok
You: simplemente sabed que existen
You: y por cierto
You: el tipo vector
You: ya lo conoceis,porque es el tipo en que le damos a la función llSetText
You: el color en que ha de escribir el texto
You: pero ese tipo
You: también se utiliza para definir coordenadas o posiciones
You: por ejemeplo, en la parte alta de vuestra pantalla, mejor dicho, de vuestro programa
You: de SL
You: veis que arriba junto al nombre de la región en la que estais
You: os pone las coordenadas en las que estais
sonsy20 Allen: sip
You: Storgosia X, Y, Z
You: si utilzamos ese valor dentro de un script, lo haríamos con un tipo "vector"
You: preguntas?
You: dudas?
sonsy20 Allen: no por el moemnto
You: ok
Xopep Yip: si
Hiyoko Arashi:
sonsy20 Allen: bueno por lo menos yo
ZICO Morigi: eso ..
ryo Pollock: que pagina es la del blog?
sonsy20 Allen: ;P
You: ZICO, seguro q te ta rondando algo por la cabeza, que lo se yo... sueltalo
Xopep Yip: al poner varias funciones se ejecutant todas a la vez o siguen algun orden?
ryo Pollock: la del foro perdon
ZICO Morigi: si
ZICO Morigi: ya lo creo
You: eeeee, trakis, que no acabmos
ZICO Morigi: pero quiero esperar a practicar ,ahora nos empapamos
You: uqe me falta por explicaros una cosa
ZICO Morigi: pero ahora cuando los toquemos sera donde disfrutaremso
ZICO Morigi: esta es la parte mala
You: ))
sonsy20 Allen: jkajka
Uhura Tamura: jaja
ZICO Morigi: a mi se me ha calentado la nariz de tenerla pegada al monitor
You: weno, para acabar
Andaluza DeCuir: zico agarra la informacion de la cajita verde y con las explicaciones praactica
You: voy a explicaros las dos ultimas lineas del panel de la drecha
You: derecha
ZICO Morigi: yo me preguntaba sobre los parametros de las coordenadas
Xopep Yip: Woolich, si ponemos varias funciones se ejecutan una detras de otra en orden, o van todas a la vez?
You: una detrás de otra
ZICO Morigi: vale ,estan ahi,los vemos y todos lo entienden........... enga yaaaa jejejje
ZICO Morigi: nadie dice nada,les parece a todos normal ahi esos numero jejeje
You: fijaros en esas dos ultimas lineas
ZICO Morigi: son rojos,con lo unico que los familiarizo son con los de mi cartilla
You: esa es la forma que vereis que se documentan las funciones en SL y en general
ZICO Morigi: pero quiero decirte, son parametros muy distinto ,no puedes tener todos esos parametros en la memoria ,no?
You: si fueseis a una fuente de referencia buscar información sobre esas funciones
ZICO Morigi: algun patron seguiran ,no?
You: al principio los veriais como en esas dos lienas
You: que numeros ZICO?
ZICO Morigi: los de los parmetros que hay
ZICO Morigi: en float ,integer etc
You: si claro
You: tú te refieres a los ejempñlos del cuadro de la derecha?
ZICO Morigi: si si
You: no
You: no siguen ningún patrón
ZICO Morigi: por ejemplo ,en integer
ZICO Morigi: 12345 435
You: simplemente son distintos número que puse como ejemplo
You: nada más
ZICO Morigi: ale, ahi estan eso son los patrrametros que debemos respetar ,ok
ZICO Morigi: no ?
You: no, esos no son parametros esos son solo ejemplos
ZICO Morigi: vale ,pero como te salgas de ahi te dara error?
You: ejemplos de números
ZICO Morigi: aja
You: si te sales del minimo o del máximo
You: si
You: tendrás error
ZICO Morigi: ok ,ves ,la duda esta resuelta ))
You: petará el script
ZICO Morigi: TOY ACOSTUMBRADO
You: igual que en las cadenas de caracteres
Amaro Rau: ç
sonsy20 Allen: ;P
You: las cadenas de caracteres también tienen un límite de letras que pueden tener, pero ahora de memoria no recuerdo cual era
You: creo que estaba en 1023 caracters,
Uhura Tamura: las cadenas de caracteres permites spacios????
ZICO Morigi: no puedes escribir el Quijote en un texto flotante ,no?
You: pero no estoy seguro, pero será raro , que tengais que poenr más como texto flotante
You: si
Uhura Tamura: jja
You: espacios si los permiten
ZICO Morigi: a si!! jajaja
Uhura Tamura: ok gracias
You: sigo con esas dos lineas
You: por cierto
You: a la linea que define llSEtText le falta un parentesis al final
You: ok? por error al hacer la textura
You: asi , que cogeis un boli, y lo dibujais en la pantalla del ordenador para que no se os olvide jajajajajaj
You: weno
You: sigo
malenah Mayo: jajajaja
sonsy20 Allen: jkajkajka
Hiyoko Arashi: XD
You: la primera línea, nos define la función llSetText y su SINTAXIS
You: como podeis ver
You: nos dice
You: que la función llSetText utiliza tres parámetros
You: que esos tres parámetros tenemos que darselo entre parentesis
You: que el primer parámetro OBLIGATORIAMENTE tiene que ser de tipo "string"
You: y ahora ya sabéis porqué siempre que poníamos un texto directamente lo poníamos entre comillas
You: y ahora ZICO ya sabe porqué en el script del ejemplo no podíamos poner la variable "c" en la llamada de la función llSetText
You: porque solo puede ser de tipo "string"
You: ok?
ZICO Morigi: hombreeeee
You: vemos que el segundo parametro, es de tipo "vector" y ese parámetro será el que fije el color
Hercules Lubitsch: woolich, podrias escribir todo otra vez por favor???
You: que tendrá el texto
You: que es todo?
ZICO Morigi: lo tengo que leer tres veces pa entenderlo ... sere el unico?
Uhura Tamura: jaja
Hercules Lubitsch: mmmdesde el principio, me lo he perdido
You: desde el princiio de la clase?
Hercules Lubitsch: ( es broma, no me mates)
You: ah!!!!
Uhura Tamura: jaja
You: ya iba a desenvainar
Hiyoko Arashi: jajaja
Hercules Lubitsch: mete los dedos en un vaso con aagua
ZICO Morigi: si quieres te la doy yo
You: jejee
Uhura Tamura: woolich a esta hora no esta para chistes
sonsy20 Allen: yo tb tengo q leer varias veces zico
You:
Hercules Lubitsch: y mañana te mando por correo urgente un micro
ZICO Morigi: asias ,solidaridad
You: sigo...
ZICO Morigi: si por fa
You: veis qu eel ultimo valor que le pasamos a la función es del tipo float
sonsy20 Allen: jkajkajka
You: y ese valor es que el va a definir la opacidad del texto sobre la prim
You: y hasta ahí, la funcioón llSetText... con eso se acaba esa función no tiene mas
You: ok?
You: pasamos a la de abajo
sonsy20 Allen: ok
You: la línea de abajo
You: que conste que ahroa no os estoy explicando ni qué es ni para qué sirve la función llDetectedKey
You: solo , os estoy enseñando como se define la sintaxis de las funciones
You: ok?
sonsy20 Allen: si eso iba a decir
sonsy20 Allen: ok
You: y he puesto esa como ejemplo
You: veis que la función llDetectedKey
You: solo necesita un parámetro, solo uno
sonsy20 Allen: aja
You: y que ese parámetro tiene que ser obligatoriamente de tipo "integer"
You: pero además
You: veis algo nuevo
You: y veis que delante del nombre de la función
You: tenemos el tipo "key"
sonsy20 Allen: sip
You: eso quiere decir , que cuando llamemos a esa función... a la vuelta... nos va a devolver un valor
You: y que ese valor que nos devuelve es del tipo "key"
sonsy20 Allen: aaaahhh ok
You: la función nos lo devuelve, otra cosas srá que nosotros queramos utilizarlo en el script o no
sonsy20 Allen: ok
You: claro, que en el caso de esta función, no utilizar ese valor sería una tontería... en otras no, porque hay funciones que pueden hacer más cosas
You: y a lo mejor el valor de vuelta lo desechamos
You: pero en el caso de esta función, la utilizamos precisamente para obtener ese valor
You: ok?
You: dudas?
You: preguntas?
ZICO Morigi: no por dios
sonsy20 Allen: ok
You: antes de que os marcheis
sonsy20 Allen: no
You: si alguien le interesa, pulsando la caja verde, obtendreis el script del ejemplo
You: pero con mejores comentarios
You: que en el panel
sonsy20 Allen: si ya los cogi
sonsy20 Allen: ;P
You: más que nada porque para poder hacer las texturas
Xopep Yip: ok, gracias
You: a veces tengo que recortar lineas
You: y además
You: también os dará las texturas de los paneles
You: el log de la clase lo subiré al foro de www.creasl.org
You: asi si alguien quiere repasarlo, teneiendo las texturas de los paneles le srá más facil seguir el log
You: otra cosa
ZICO Morigi: nos haras un examen ? oral ? jejeejej
sonsy20 Allen: ok gracias
You: en futuras clases
Amaro Rau: Woolich
sonsy20 Allen: jkajka
You: no vamos a avanzar en temas más coplejos
You: nos limitaremos a ir describiendo algunas de las funciones
You: del lenguaje de scripts
You: y a hacer practicas
Uhura Tamura: jaja
Amaro Rau: Woolich
Andaluza DeCuir: gracias por tu tiempo y explicaciones Woolich
You: tened en cuanta que esto de hoy... funciones y variables es muy importante, tanto para los scripts, como para otros lenguajes de programación
Amaro Rau: oye Woolich
You: y conviene que lo tengais muy claro y bastante dominado antes de seguir con cosas más complejas
Amaro Rau: me oyes
You: y vereis que a pesar de que no avancemos con cosas más complejas
You: si Amaro,momentin
You: no quiere decirque los scripts no sean interesantes
Andaluza DeCuir: con una buenaa base se construye un gran palacio
ZICO Morigi: siiiiii
Andaluza DeCuir: graaaciaas de nuevo
You: ya vereis , la de cosas que se pueden hacer con media docena de variables y las funciones de los scripts, ok?
malenah Mayo: graciasss
You: Amaro?
You: dime
sonsy20 Allen: ok
sonsy20 Allen: gracias wooich
You: no os olvideis que podeis exponer dudas en el foro de www.creasl.org
Amaro Rau: si. es la primera vez que vengo. y estoy un pocu perdido. ¿como podria ponerme al dia con las primeras clases?
You: en la sección ·"scrtipting basico
ZICO Morigi: mi novia dice que que tienen los scripts que no tenga ella ...... TIO !! LOS VARIABLES OSTIAS ,LOS VARIABLES!!
sonsy20 Allen: ok
Amaro Rau: ok
You: pos te vas al foro ese
Andaluza DeCuir: zico
Andaluza DeCuir: te confundes
ZICO Morigi: III
ZICO Morigi: SI !!
You: qeu están los logs de las clases anteriors, solo dos hasta el mometno
Amaro Rau: bien
Andaluza DeCuir: si aalgo tenemos laas mujeres es ue somos muyyyyy variaables
You: en las cjas rojas
Amaro Rau: gracias
You: tienes los materiales
Xopep Yip: juas!!!
Amaro Rau: muchas gracias
You: de las clases anteriores
Amaro Rau: muy interesante
You: y teneiendo esas texturas, de los paneles y leyendo los logs, no te creas que será muy distinto a lo que yo toi tecleando
You: pulsa las cajas rojas
You: y pillate el contenido,
ZICO Morigi: JJEJE no me lo digas a mi que vivo con el Dr Jekly & Mr Hyde
Amaro Rau: no es lo mismo . tu lo explicas
You: y si tienes dudas, al foro ese www.creasl.org
You: ya
You: pero lo que yo explico , tú lo lees
You: jejejejeje
You: y los logs no son mas que eso
Amaro Rau: pero sin profesor. tu estas ahi
You: ya weno
Amaro Rau: se te puede preguntar
Kepa Martynov: adiossssssss
Amaro Rau: y eso es muchisimo
Andaluza DeCuir: mil gracias de nuevo y por tu tiempo
You: pos sip, si lo ves así po fale, pero weno, ya te digo, pa eso ta el foro, pa exponer dudas, y las clases que vendrán
Andaluza DeCuir: nos vemos en la proxima
Amaro Rau: es asi
Glonsua Negulesco: woolich, gracias por tus explicaciones, me cuesta trabajo seguirte porque no tengo base sobre informatica, pero eres estupendo como profe. Gracias de nuevo
ZICO Morigi: enga Woolich un placer la clase ,xaoo a todoos ,ta la proxima
You: glonsua, tu to palante
You: y practicar
Uhura Tamura: gracias woolich por la clase , muy buena
You: ya verás como en poco tiempo , lo ves de otra manera
Uhura Tamura: nos vemos, daludos a todos
Uhura Tamura: nos vemos
Glonsua Negulesco: adios uhu
You: a ver , alguna pregunta
Kepa Martynov: ciao
You: alguien se atreve?
Amaro Rau: jajaja
You: joe, sus habeis acojonao he?
You: jejejejjejejeje
Glonsua Negulesco: sip
sonsy20 Allen: jkajkajka
Andaluza DeCuir: acojonado de que?
Amaro Rau: mejor nos vamos
Andaluza DeCuir: que me perdi?
sonsy20 Allen: un poco
sonsy20 Allen: jkajkajka
Glonsua Negulesco: saco un estoque
Amaro Rau: ha hecho una cata con la katana.Andaluza
Xopep Yip: bueno gente!! nos vemos, muchas gracias una vez más!!!
You: glonsua, esto no es un stoque, es una KAtana auténtica de samurai, con mucha mucha historia
You: )))))))))))
Andaluza DeCuir: yo si me aatevo daale
Andaluza DeCuir: lucho contigo
Andaluza DeCuir: jajajajaaaja
Amaro Rau: jajaja
You: no
Andaluza DeCuir: no???
You: otra cosa
You: antes que se me olvide
You: si haceis practicas
You: y os salen mal
You: no borreis los scripts
You: los grabais
sonsy20 Allen: jkajkajka
sonsy20 Allen: cierto
You: y guardais la prim
Andaluza DeCuir: ok
You: en vuestro invnetario
sonsy20 Allen: si woolich
sonsy20 Allen: ok
You: porque si lo borrais, no podreé adivinar el código
You: y no podre echaros una mano para encontrar el error
You: ok?
Amaro Rau: ok
Kepa Martynov: vale

Script -----------------------------------------------

// Script: variables
//
// Por: Woolich Ulich
// septiembre, 2007
//
// Variables
// ------------------------

string nombreavatar;

integer a;
integer b;

default
{
state_entry()
{
nombreavatar = "Woolich";

a = 1; // la variable "a" toma el valor 1.
b = 2; // la variable "b" toma el valor 2.

llSetText(nombreavatar, <1.0, 0.0, 0.0>, 1.0);
}

touch_start(integer total_number)
{
integer c;

c = a + b; // C toma el valor de la suma de "a" más "b".

nombreavatar = "Ulich"; // Volvemos a cambiar el valor de la variable

llSetText(nombreavatar, <1.0, 0.0, 0.0>, 1.0);
}
}
  | | El administrador ha desactivado el acceso público de escritura.

    Temas Autor Fecha
  thread link
Log Clase 3 sobre Scripting
woolich ulich 2007/09/21 00:36
RocketTheme Joomla Templates