PageSourceSearch

https://yayocode.com/assets/js/4fc60f49.3dd0318d.js

js yayocode.com collected 2026-10-07 20:20:57 UTC 6,933 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkyayo_code_website=self.webpackChunkyayo_code_website||[]).push([[7065],{2834:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>d,contentTitle:()=>t,default:()=>u,frontMatter:()=>r,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"courses/learn_libgdx/body_types_dynamic_static_kinematic","title":"Cuerpos din\xe1micos, est\xe1ticos y cinem\xe1ticos","description":"Aprenderemos sobre los tipos de cuerpos din\xe1micos, est\xe1ticos y cinem\xe1ticos en Box2D y libGDX","source":"@site/docs/courses/learn_libgdx/05-body_types_dynamic_static_kinematic.mdx","sourceDirName":"courses/learn_libgdx","slug":"/courses/learn_libgdx/body_types_dynamic_static_kinematic","permalink":"/courses/learn_libgdx/body_types_dynamic_static_kinematic","draft":false,"unlisted":false,"tags":[{"inline":true,"label":"libgdx","permalink":"/tags/libgdx"},{"inline":true,"label":"box2d","permalink":"/tags/box-2-d"},{"inline":true,"label":"java","permalink":"/tags/java"}],"version":"current","sidebarPosition":5,"frontMatter":{"image":"https://ik.imagekit.io/7ekurfxvl/8N56mgiAGpF4dLyGEL05/thumbnail_es.png","description":"Aprenderemos sobre los tipos de cuerpos din\xe1micos, est\xe1ticos y cinem\xe1ticos en Box2D y libGDX","tags":["libgdx","box2d","java"],"keywords":["libgdx","box2d","java"]},"sidebar":"learnLibgdx","previous":{"title":"El mundo, cuerpos, figuras y accesorios","permalink":"/courses/learn_libgdx/the_world_bodies_shapes_and_fixtures"},"next":{"title":"Fricci\xf3n, densidad y restituci\xf3n","permalink":"/courses/learn_libgdx/friction_density_restitution"}}');var o=s(4848),a=s(8453),c=s(2664);const r={image:"https://ik.imagekit.io/7ekurfxvl/8N56mgiAGpF4dLyGEL05/thumbnail_es.png",description:"Aprenderemos sobre los tipos de cuerpos din\xe1micos, est\xe1ticos y cinem\xe1ticos en Box2D y libGDX",tags:["libgdx","box2d","java"],keywords:["libgdx","box2d","java"]},t="Cuerpos din\xe1micos, est\xe1ticos y cinem\xe1ticos",d={},l=[{value:"Cuerpos est\xe1ticos (static)",id:"cuerpos-est\xe1ticos-static",level:2},{value:"Cuerpos din\xe1micos (dynamic)",id:"cuerpos-din\xe1micos-dynamic",level:2},{value:"Cuerpos cinem\xe1ticos (kinematic)",id:"cuerpos-cinem\xe1ticos-kinematic",level:2},{value:"Conclusi\xf3n",id:"conclusi\xf3n",level:2}];function p(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.header,{children:(0,o.jsx)(i.h1,{id:"cuerpos-din\xe1micos-est\xe1ticos-y-cinem\xe1ticos",children:"Cuerpos din\xe1micos, est\xe1ticos y cinem\xe1ticos"})}),"\n",(0,o.jsx)(c.k,{id:"XI2yCtVfCh8",isLCP:!0,thumbnail:"8N56mgiAGpF4dLyGEL05/thumbnail_es.png"}),"\n",(0,o.jsx)(i.admonition,{type:"info",children:(0,o.jsxs)(i.p,{children:["Prueba ",(0,o.jsx)(i.a,{href:"http://yayo-arellano.github.io/libgdx_learn",children:"el demo"})," en tu navegador y descarga el c\xf3digo fuente de todos\nlos tutoriales en ",(0,o.jsx)(i.a,{href:"https://github.com/Yayo-Arellano/libgdx_learn/tree/master",children:"GitHub"}),"."]})}),"\n",(0,o.jsx)(i.p,{children:"En box2D existen 3 tipos de cuerpos: din\xe1micos (dynamic), est\xe1ticos (static) y cinem\xe1ticos (kinematic)."}),"\n",(0,o.jsx)(i.h2,{id:"cuerpos-est\xe1ticos-static",children:"Cuerpos est\xe1ticos (static)"}),"\n",(0,o.jsx)(i.p,{children:"Los cuerpos est\xe1ticos no reaccionan a ninguna colisi\xf3n, fuerza o impulso por lo que no se mueven."}),"\n",(0,o.jsxs)(i.p,{children:["Usando el c\xf3digo del ejemplo anterior agregaremos un un cuerpo est\xe1tico que actuar\xe1 como el piso, por\nlo que nuestra pelota al caer no desaparecer\xe1 de la pantalla. Creamos una funci\xf3n llamada ",(0,o.jsx)(i.code,{children:"createFloor()"}),":"]}),"\n",(0,o.jsx)(i.p,{children:"Como podemos ver, en la definici\xf3n del cuerpo decimos que es est\xe1tico:"}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-java",children:"bd.type = BodyType.StaticBody;\n"})}),"\n",(0,o.jsx)(i.p,{children:"Luego creamos una linea del tama\xf1o del ancho de la pantalla:"}
1),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-java",children:"EdgeShape shape = new EdgeShape();\nshape.set(0, 0, SCREEN_WIDTH, 0);\n"})}),"\n",(0,o.jsx)(i.p,{children:"Al terminar nuestra aplicaci\xf3n se ver\xe1 as\xed:"}),"\n",(0,o.jsx)(c.Ry,{path:"8N56mgiAGpF4dLyGEL05/img1.png",width:80,mobileWidth:100,aspectRatio:"1824/1240"}),"\n",(0,o.jsx)(i.p,{children:"Como pueden ver tenemos la misma pelota, pero ahora tenemos una l\xednea verde que no se mueve."}),"\n",(0,o.jsx)(i.h2,{id:"cuerpos-din\xe1micos-dynamic",children:"Cuerpos din\xe1micos (dynamic)"}),"\n",(0,o.jsx)(i.p,{children:"Los cuerpos din\xe1micos reaccionan a fuerzas, impulsos, colisiones y a otros eventos del mundo. En nuestra\naplicaci\xf3n la pelota es un cuerpo din\xe1mico que reacciona a la fuerza de gravedad por lo que es atra\xedda hacia abajo."}),"\n",(0,o.jsx)(i.h2,{id:"cuerpos-cinem\xe1ticos-kinematic",children:"Cuerpos cinem\xe1ticos (kinematic)"}),"\n",(0,o.jsxs)(i.p,{children:["Los cuerpos cinem\xe1ticos son muy parecidos a los cuerpos est\xe1ticos ya que no reaccionan a las fuerzas por\nejemplo en una colisi\xf3n, pero a diferencia de los est\xe1ticos los cinem\xe1ticos si se pueden mover. Creamos una\nfunci\xf3n llamada ",(0,o.jsx)(i.code,{children:"createKinematic()"})]}),"\n",(0,o.jsx)(i.p,{children:"Ahora en la definici\xf3n del cuerpo decimos que es un cuerpo cin\xe9tico"}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-java",children:"bd.type = BodyType.KinematicBody;\n"})}),"\n",(0,o.jsx)(i.p,{children:"Y la figura que tendra sera de una caja, en este caso un rect\xe1ngulo"}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-java",children:"PolygonShape shape = new PolygonShape();\nshape.setAsBox(.1f, .25f);\n"})}),"\n",(0,o.jsx)(i.p,{children:"Lo haremos girar en sentido contrario a las manecillas del reloj con la siguiente l\xednea de c\xf3digo"}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-java",children:"oBody.setAngularVelocity((float) Math.toRadians(360));\n"})}),"\n",(0,o.jsx)(i.admonition,{type:"warning",children:(0,o.jsx)(i.p,{children:"Recuerda que Box2D trabaja con radianes y no con grados"})}),"\n",(0,o.jsx)(i.p,{children:"Nuestra aplicacion se vera asi, donde el cuerpo cinem\xe1tico es de color azul y se encuentra girando:"}),"\n",(0,o.jsx)(c.Ry,{path:"8N56mgiAGpF4dLyGEL05/img2.png",width:80,mobileWidth:100,aspectRatio:"1824/1240"}),"\n",(0,o.jsx)(i.h2,{id:"conclusi\xf3n",children:"Conclusi\xf3n"}),"\n",(0,o.jsx)(i.p,{children:"En este tutorial aprendimos sobre los diferentes tipos de cuerpos y c\xf3mo reaccionan con otros cuerpos.\nEspero les haya gustado y nos vemos en el pr\xf3ximo tutorial"})]})}function u(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}}}]);

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.