1"use strict";(self.webpackChunkgb_studio_docs=self.webpackChunkgb_studio_docs||[]).push([[4097],{6322:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>t,toc:()=>d});var s=n(5893),a=n(1151);const o={sidebar_position:3},i="Actors",t={id:"project-editor/actors",title:"Actors",description:"Los actores son los personajes y los objetos con los que puedes interactuar en las escenas.",source:"@site/i18n/es/docusaurus-plugin-content-docs/current/project-editor/actors.md",sourceDirName:"project-editor",slug:"/project-editor/actors",permalink:"/es/docs/project-editor/actors",draft:!1,unlisted:!1,editUrl:"https://github.com/chrismaltby/gb-studio-docs/tree/main/docs/project-editor/actors.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"The Player",permalink:"/es/docs/project-editor/player"},next:{title:"Triggers",permalink:"/es/docs/project-editor/triggers"}},c={},d=[{value:"A\xf1adiendo un actor",id:"a\xf1adiendo-un-actor",level:2},{value:"Tipo de movimiento",id:"tipo-de-movimiento",level:2},{value:"L\xedmites de Frames",id:"l\xedmites-de-frames",level:2},{value:"Scripting",id:"scripting",level:2}];function l(e){const r={a:"a",br:"br",em:"em",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h1,{id:"actors",children:"Actors"}),"\n",(0,s.jsx)(r.p,{children:"Los actores son los personajes y los objetos con los que puedes interactuar en las escenas."}),"\n",(0,s.jsx)(r.h2,{id:"a\xf1adiendo-un-actor",children:"A\xf1adiendo un actor"}),"\n",(0,s.jsxs)(r.p,{children:["Para a\xf1adir un actor a una escena haz clic en ",(0,s.jsxs)(r.em,{children:[(0,s.jsx)(r.strong,{children:"+"})," button"]})," en ",(0,s.jsx)(r.em,{children:"Editor Tools"})," y selecciona ",(0,s.jsx)(r.em,{children:"Actor"})," en el men\xfa (de forma alternativa puedes pulsar la tecla ",(0,s.jsx)(r.strong,{children:"A"}),"). Despu\xe9s haz clic en la escena y posiciona al actor en el lugar que quieras."]}),"\n",(0,s.jsx)("img",{src:"/es/img/screenshots/add-actor.gif",style:{width:300}}),"\n",(0,s.jsxs)(r.p,{children:["El ",(0,s.jsx)(r.em,{children:"Editor Sidebar"})," cambiar\xe1 para mostrar la configuraci\xf3n del actor, y lo primero que deber\xedas hacer es darle un nombre para tenerlo mejor identificado. Tambi\xe9n puedes volver a colocar al actor con coordenadas (aunque puedes arrastrar y soltar con el rat\xf3n), cambiar la ",(0,s.jsx)(r.a,{href:"/docs/assets/sprites",children:"sprite sheet"}),", la direcci\xf3n inicial donde mira, el tipo de movimiento o crear un script que se ejecutar\xe1 cuando el jugador interact\xfae con el actor."]}),"\n",(0,s.jsx)(r.h2,{id:"tipo-de-movimiento",children:"Tipo de movimiento"}),"\n",(0,s.jsx)(r.p,{children:"Existen diferentes tipos de movimiento, y usar uno u otro depender\xe1 de c\xf3mo quieres que se comporte el actor mientras el jugador camina por la escena e interact\xfaa con ella."}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Est\xe1tico"})," - El actor ser\xe1 un frame del spritesheet.",(0,s.jsx)(r.br,{}),"\n","Si la spritesheet contiene m\xe1s de un frame podr\xe1s seleccionar cual mostrar, y este puede ser modificado despu\xe9s usando el evento ",(0,s.jsx)(r.em,{children:"Actor: Set Animation Frame"}),". Las spritesheets con m\xfaltiples frames tambi\xe9n tienen la habilidad de animar al actor haciendo ciclos entre todos los frames a una determinada velocidad, y esa velocidad puede ser modificada con el evento ",(0,s.jsx)(r.em,{children:"Actor: Set Animation Speed"})," .",(0,s.jsx)(r.br,{}),"\n",(0,s.jsx)(r.br,{}),"\n","El actor solo mirar\xe1 en la direcci\xf3n inicial (a menos que la direcci\xf3n se modifique m\xe1s tarde usando un script). Si el jugador interact\xfaa con este actor, no cambiar\xe1 de direcci\xf3n. Es \xfatil para postes, se\xf1ales u otros objetos que no se tendr\xe1n que mover."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Interacci\xf3n cara a cara"})," - El actor mirar\xe1 en la direcci\xf3n inicial pero cuando el jugador interact\xfae con el actor se girar\xe1 para mirarlo antes de ejecutarse scripts del jugador. Es \xfatil para que los personajes tengan m\xe1s interacci\xf3n con las acciones del jugador."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Rotaci\xf3n aleatoria"})," - El actor mirar\xe1 en la direcci\xf3n inicial pero cambiar\xe1 de direcci\xf3n cada poco tiempo. Es \xfatil para personajes que est\xe1n mirando a su alrededor."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Movimiento aleatorio"})," - El actor cambiar\xe1 de direcci\xf3n y se mover\xe1 por la escena de forma aleatoria. Es \xfatil para personajes que est\xe1n buscando algo. Los actores pueden bloquear el movimiento del jugador, as\xed que hay que tener cuidado porque puede bloquearlo."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.em,{children:"Note"})," Si el actor usa una spritesheet est\xe1tica (por ejempo con un solo frame) solo tendr\xe1 la opci\xf3n de elegir el tipo de movimiento est\xe1tico Y no tendr\xe1s opci\xf3n de escoger ning\xfan otro tipo de movimiento."]}),"\n",(0,s.jsx)(r.h2,{id:"l\xedmites-de-frames",children:"L\xedmites de Frames"}),"\n",(0,s.jsxs)(r.p,{children:["Debido a las limitaciones de hardware solo se permiten ",(0,s.jsx)(r.strong,{children:"25 frames \xfanicos"})," para actores en cada escena. Hasta donde sea posible es mejor no usar animaciones o spritesheet est\xe1ticas para ahorrar frames. Otra manera de ahorrar frames es reutilizar los mismos sprites con diferentes actores, ya que no se sumar\xe1 en el total de frames."]}),"\n",(0,s.jsx)(r.h2,{id:"scripting",children:"Scripting"}),"\n",(0,s.jsxs)(r.p,{children:["Los actores cuentan con dos tipos de scripts, ",(0,s.jsx)(r.em,{children:"On Interact"})," y ",(0,s.jsx)(r.em,{children:"On Init"}),". Puedes elegir que tipo de script est\xe1s editando usando las pesta\xf1as en el ",(0,s.jsx)(r.em,{children:"Editor Sidebar"})," cuando seleccionas el actor."]}),"\n",(0,s.jsxs)(r.p,{children:["El script ",(0,s.jsx)(r.em,{children:"On Interact"})," se ejecutar\xe1 cuando el jugador pulse el bot\xf3n ",(0,s.jsx)(r.em,{children:"A"})," mirando en la direcci\xf3n de un actor."]}),"\n",(0,s.jsxs)(r.p,{children:["El script ",(0,s.jsx)(r.em,{children:"On Init"})," se ejecutar\xe1 tan pronto como se carge la escena, y se ejecutar\xe1n antes que cualquier evento en el script ",(0,s.jsx)(r.em,{children:"On Init"})," de la escena.\n."]}),"\n",(0,s.jsxs)(r.p,{children:["Cuando seleccionas el actor, haz clic en ",(0,s.jsx)(r.em,{children:"Add Event button"})," desde la ",(0,s.jsx)(r.em,{children:"Editor Sidebar"})," para abrir el men\xfa de eventos y emepezar a programar un script."]}),"\n",(0,s.jsxs)(r.p,{children:["Para m\xe1s informaci\xf3n, dir\xedgete a la secci\xf3n ",(0,s.jsx)(r.a,{href:"/docs/scripting",children:"Scripting"})," de la documentaci\xf3n."]})]})}function u(e={}){const{wrapper:r}={...(0,a.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,r,n)=>{n.d(r,{Z:()=>t,a:()=>i});var s=n(7294);const a={},o=s.createContext(a);function i(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.