woolich ulich
Usuario
| Mensajes: 6 |   | 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); } }
|