{"id":621,"date":"2026-01-31T09:00:37","date_gmt":"2026-01-31T09:00:37","guid":{"rendered":"https:\/\/salvador.mata.com.mx\/blog\/?p=621"},"modified":"2026-03-20T20:42:46","modified_gmt":"2026-03-20T20:42:46","slug":"reloj-analogico-en-range","status":"publish","type":"post","link":"https:\/\/salvador.mata.com.mx\/blog\/2026\/01\/31\/reloj-analogico-en-range\/","title":{"rendered":"Reloj anal\u00f3gico en Range \u23f1\ufe0f | L\u00f3gica b\u00e1sica paso a paso (Parte 2)"},"content":{"rendered":"<h1>\u23f1\ufe0fHaciendo la l\u00f3gica para el reloj anal\u00f3gico en RanGE<\/h1>\n<p>Ahora creo que estamos listos para continuar con la l\u00f3gica, la cual es lo m\u00e1s importante para hacer que el reloj anal\u00f3gico funcione correctamente. Como mencion\u00e9 antes, estoy usando Range Game Engine versi\u00f3n<span style=\"color: #008000;\"> <strong>1.6 Rev2 Release<\/strong><\/span>, que es la m\u00e1s reciente pero a\u00fan no est\u00e1 disponible p\u00fablicamente, aunque puedes obtener la versi\u00f3n 1.6 desde la <a href=\"https:\/\/rangeengine.tech\/\" target=\"_blank\" rel=\"noopener\">p\u00e1gina oficial<\/a>.<\/p>\n<p>Antes de comenzar, es importante aclarar que el <span style=\"color: #008000;\"><strong data-start=\"201\" data-end=\"294\">c\u00e1lculo de los segundos dentro del motor de juegos puede variar de una computadora a otra<\/strong><\/span>, por lo que el conteo de segundos \u2014y, en consecuencia, el de minutos y horas\u2014 <span style=\"color: #008000;\"><strong data-start=\"373\" data-end=\"405\">no ser\u00e1 completamente exacto<\/strong><\/span> \u23f1\ufe0f. Sin embargo, este ejercicio est\u00e1 pensado principalmente como <span style=\"color: #008000;\"><strong data-start=\"471\" data-end=\"487\">una pr\u00e1ctica<\/strong><\/span>, cuyo objetivo es que logres <span style=\"color: #008000;\"><strong data-start=\"517\" data-end=\"569\">comprender el funcionamiento de los Logic Bricks<\/strong><\/span>, m\u00e1s que obtener una medici\u00f3n de tiempo perfecta \ud83e\udde0\ud83d\udd27<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2025\/10\/range_screen-768x437.jpg\" \/><em><strong>Ok, una vez que tengas tu copia de Range 1.6, \u00a1pasemos al siguiente!<\/strong><\/em><\/p>\n<hr \/>\n<h2>\ud83d\udd52 C\u00f3mo funciona un reloj anal\u00f3gico<\/h2>\n<p>Antes de construir nuestro reloj dentro de <span style=\"color: #008000;\"><strong>Range Game Engine<\/strong><\/span>, entendamos c\u00f3mo funciona uno real \ud83d\udc47<\/p>\n<h2>1\ufe0f\u20e3 La manecilla de los segundos (la que siempre est\u00e1 movi\u00e9ndose)<\/h2>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-865\" src=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/analogClock.gif\" alt=\"\" width=\"256\" height=\"256\" \/><\/p>\n<p>Un reloj tiene <span style=\"color: #008000;\"><strong>60 segundos por minuto<\/strong><\/span>.<br \/>\nCada segundo, la manecilla de los segundos rota <strong>6\u00b0<\/strong><span style=\"color: #99cc00;\"> (porque 360\u00b0 \u00f7 60 = 6\u00b0)<\/span>.<\/p>\n<p>\ud83d\udd01 Despu\u00e9s de 60 pasos de 6\u00b0, la manecilla completa una rotaci\u00f3n de <strong>360\u00b0<\/strong>.<br \/>\nCuando completa un ciclo, la manecilla de los segundos se reinicia a <strong>0\u00b0<\/strong> y env\u00eda una se\u00f1al para incrementar un minuto.<\/p>\n<p><strong>Ejemplo visual:<\/strong><\/p>\n<ul>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">1 segundo<\/span> = +6\u00b0<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">60 segundos<\/span> = +360\u00b0 (rotaci\u00f3n completa)<\/span><\/li>\n<\/ul>\n<hr \/>\n<h2>2\ufe0f\u20e3 La manecilla de los minutos (la del medio)<\/h2>\n<p>Funciona igual que la de los segundos.<\/p>\n<ul>\n<li><span style=\"color: #99cc00;\">Cada minuto rota <strong>6\u00b0<\/strong>.<\/span><\/li>\n<li><span style=\"color: #99cc00;\">Despu\u00e9s de 60 minutos completa una rotaci\u00f3n de <strong>360\u00b0<\/strong>.<\/span><\/li>\n<li><span style=\"color: #99cc00;\">Al hacerlo, se reinicia a <strong>0\u00b0<\/strong> y env\u00eda una se\u00f1al para incrementar una hora.<\/span><\/li>\n<\/ul>\n<p><strong>Ejemplo visual:<\/strong><\/p>\n<ul>\n<li><span style=\"color: #99cc00;\">1 minuto = +6\u00b0<\/span><\/li>\n<li><span style=\"color: #99cc00;\">60 minutos = +360\u00b0 (rotaci\u00f3n completa)<\/span><\/li>\n<\/ul>\n<hr \/>\n<h2>3\ufe0f\u20e3 La manecilla de las horas<\/h2>\n<p>La car\u00e1tula del reloj tiene <span style=\"color: #008000;\"><strong>12 horas<\/strong><\/span>.<br \/>\nCada hora, la manecilla rota <strong>30\u00b0<\/strong> (360\u00b0 \u00f7 12 = 30\u00b0).<\/p>\n<p>Cuando la manecilla de los minutos completa 12 ciclos completos, la manecilla de las horas completa una rotaci\u00f3n total.<\/p>\n<p><strong>Ejemplo visual:<\/strong><\/p>\n<ul>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">1 hora<\/span> = +30\u00b0<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">12 horas<\/span> = +360\u00b0 (rotaci\u00f3n completa)<\/span><\/li>\n<\/ul>\n<hr \/>\n<h2>\u2699\ufe0f Resumen del sistema<\/h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: center;\"><span style=\"color: #008000;\">Manecilla<\/span><\/th>\n<th style=\"text-align: center;\"><span style=\"color: #339966;\">Unidades totales<\/span><\/th>\n<th style=\"text-align: center;\"><span style=\"color: #99cc00;\">Rotaci\u00f3n por unidad<\/span><\/th>\n<th><span style=\"color: #339966;\">Ciclo completo<\/span><\/th>\n<th><span style=\"color: #99cc00;\">Env\u00eda se\u00f1al a<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><span style=\"color: #008000;\">Segundos<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #339966;\">60 segundos<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #99cc00;\">+6\u00b0 por segundo<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #339966;\">360\u00b0<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #99cc00;\">Minutos<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\"><span style=\"color: #008000;\">Minutos<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #339966;\">60 minutos<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #99cc00;\">+6\u00b0 por minuto<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #339966;\">360\u00b0<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #99cc00;\">Horas<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\"><span style=\"color: #008000;\">Horas<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #339966;\">12 horas<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #99cc00;\">+30\u00b0 por hora<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #339966;\">360\u00b0<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #99cc00;\">\u2014<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>En <span style=\"color: #008000;\"><strong><em>Range Game Engine<\/em><\/strong><\/span> simularemos este comportamiento usando <span style=\"color: #008000;\">Logic Blocks<\/span> para:<\/p>\n<ul>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">Contar<\/span> segundos, minutos y horas<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">Rotar<\/span> las manecillas en cada paso<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">Enviar<\/span> se\u00f1ales entre manecillas usando propiedades o conexiones<\/span><\/li>\n<\/ul>\n<p>Ahora s\u00ed, \u00a1vamos a hacer la l\u00f3gica del reloj!<\/p>\n<hr \/>\n<h1>\ud83e\udde9 Paso 1: Preparando la escena<\/h1>\n<p>Vamos a nacesitar tres modelos para las manecillas del reloj:<\/p>\n<ul>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\"><strong>SecondHand\u00a0<\/strong><\/span>(Manecilla de segundos)<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><strong><span style=\"color: #008000;\">MinuteHand<\/span> <\/strong>(Manecilla de minutos)<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><strong><span style=\"color: #008000;\">HourHand<\/span> <\/strong>(Manecilla de horas)<\/span><\/li>\n<\/ul>\n<p>Aseg\u00farate de que cada manecilla tenga su punto de rotaci\u00f3n en el<span style=\"color: #008000;\"> <strong>centro de la car\u00e1tula<\/strong><\/span>. No es necesario que los objetos sean tan elaborados, puedes hacerlo a partir de un cubo, para avanzar r\u00e1pido con el ejercicio.<\/p>\n<p>Opcionalmente, crea un mesh <span style=\"color: #008000;\"><strong>ClockBase<\/strong> <\/span>(la car\u00e1tula est\u00e1tica del reloj).<\/p>\n<p style=\"text-align: center;\"><code>\n<div class=\"wp-block-presto-player-reusable-edit\"><!--presto-player:video_id=11--><figure class=\"wp-block-video presto-block-video  presto-provider-youtube\" style=\"--plyr-color-main: var(--presto-player-highlight-color, #18b103); --presto-player-logo-width: 150px; \">\n\t<presto-player \n\t\tpreset='{&quot;id&quot;:1,&quot;name&quot;:&quot;Default&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;icon&quot;:&quot;format-video&quot;,&quot;skin&quot;:&quot;modern&quot;,&quot;play-large&quot;:true,&quot;rewind&quot;:true,&quot;play&quot;:true,&quot;fast-forward&quot;:true,&quot;progress&quot;:true,&quot;current-time&quot;:true,&quot;mute&quot;:true,&quot;volume&quot;:true,&quot;speed&quot;:false,&quot;pip&quot;:false,&quot;fullscreen&quot;:true,&quot;captions&quot;:false,&quot;reset_on_end&quot;:true,&quot;auto_hide&quot;:true,&quot;show_time_elapsed&quot;:false,&quot;captions_enabled&quot;:false,&quot;save_player_position&quot;:true,&quot;sticky_scroll&quot;:false,&quot;sticky_scroll_position&quot;:&quot;bottom right&quot;,&quot;on_video_end&quot;:&quot;select&quot;,&quot;play_video_viewport&quot;:false,&quot;hide_youtube&quot;:false,&quot;lazy_load_youtube&quot;:false,&quot;hide_logo&quot;:false,&quot;border_radius&quot;:0,&quot;caption_style&quot;:&quot;&quot;,&quot;caption_background&quot;:&quot;&quot;,&quot;is_locked&quot;:true,&quot;cta&quot;:[&quot;&quot;],&quot;watermark&quot;:[&quot;&quot;],&quot;search&quot;:[&quot;&quot;],&quot;email_collection&quot;:[&quot;&quot;],&quot;action_bar&quot;:[&quot;&quot;],&quot;created_by&quot;:1,&quot;created_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;updated_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;deleted_at&quot;:&quot;&quot;}'\n\t\tbranding='{&quot;logo&quot;:&quot;&quot;,&quot;logo_width&quot;:150,&quot;color&quot;:&quot;#18b103&quot;,&quot;player_css&quot;:&quot;&quot;}'\n\t\tchapters='[]'\n\t\toverlays='[]'\n\t\ttracks='[]'\n\t\tblock-attributes='{&quot;playsInline&quot;:true,&quot;id&quot;:11,&quot;src&quot;:&quot;https:\\\/\\\/youtu.be\\\/s5WmuNwPsIY&quot;,&quot;preset&quot;:1,&quot;video_id&quot;:&quot;s5WmuNwPsIY&quot;,&quot;visibility&quot;:&quot;public&quot;,&quot;color&quot;:&quot;#00b3ff&quot;,&quot;mutedPreview&quot;:{&quot;enabled&quot;:false,&quot;captions&quot;:false},&quot;mutedOverlay&quot;:{&quot;enabled&quot;:false,&quot;src&quot;:&quot;&quot;,&quot;width&quot;:200,&quot;focalPoint&quot;:{&quot;x&quot;:0.5,&quot;y&quot;:0.5}},&quot;mutedOverlayType&quot;:&quot;text&quot;,&quot;mutedOverlayText&quot;:&quot;Click to play&quot;,&quot;mutedOverlayImageWidth&quot;:200,&quot;chapters&quot;:[],&quot;overlays&quot;:[],&quot;tracks&quot;:[],&quot;title&quot;:&quot;https:\\\/\\\/youtu.be\\\/s5WmuNwPsIY&quot;}'\n\t\tanalytics=''\n\t\tautomations\t\tprovider='youtube'\n\t\t\t\tid=\"presto-player-1\"\n\t\tsrc=\"\/\/www.youtube.com\/embed\/s5WmuNwPsIY?iv_load_policy=3&amp;modestbranding=1&amp;playinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\"\n\t\tmedia-title=\"https:\/\/youtu.be\/s5WmuNwPsIY\"\n\t\tcss=\"\"\n\t\tclass=\"presto-video-id-11 presto-preset-id-1 skin-modern\"\n\t\tskin=\"modern\" \n\t\ticon-url=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/presto-player\/img\/sprite.svg\" \n\t\tpreload=\"\" \n\t\tposter=\"\"\n\t\tyoutube=\"{&quot;noCookie&quot;:false,&quot;channelId&quot;:&quot;&quot;,&quot;show_count&quot;:false}\"\n\t\tprovider-video-id=\"s5WmuNwPsIY\"\n\t\tvideo-id=\"11\"\n\t\t\t\tplaysinline \n\t\t\t\t>\n\t\t\n    <div class=\"presto-iframe-fallback-container\">\n        <iframe style=\"width: 100%\" title=\"Youtube Video\" class=\"presto-fallback-iframe\" id=\"presto-iframe-fallback-1\" data-src=\"https:\/\/www.youtube.com\/embed\/s5WmuNwPsIY?iv_load_policy=3&amp;modestbranding=1&amp;playsinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\" allowfullscreen allowtransparency allow=\"autoplay\"><\/iframe>\n    <\/div>\n\n\t<\/presto-player>\n<\/figure><\/div>\n<\/code><\/p>\n<hr \/>\n<h1>\u23f1\ufe0f Paso 2: Configurando el temporizador<\/h1>\n<p data-start=\"135\" data-end=\"363\">Para simular el funcionamiento de un <strong data-start=\"172\" data-end=\"191\">reloj anal\u00f3gico<\/strong>, necesitamos un <strong data-start=\"208\" data-end=\"224\">temporizador<\/strong> que controle el avance de los <strong data-start=\"255\" data-end=\"284\">segundos, minutos y horas<\/strong> \u23f0.<br data-start=\"287\" data-end=\"290\" \/>En t\u00e9rminos generales, la l\u00f3gica puede explicarse de la siguiente manera:<\/p>\n<ul data-start=\"365\" data-end=\"867\">\n<li data-start=\"365\" data-end=\"437\">\n<p data-start=\"367\" data-end=\"437\"><span style=\"color: #99cc00;\">Los <span style=\"color: #008000;\"><strong data-start=\"371\" data-end=\"383\">segundos<\/strong> <\/span>se incrementan continuamente hasta llegar a <strong data-start=\"428\" data-end=\"434\">59<\/strong>.<\/span><\/p>\n<\/li>\n<li data-start=\"438\" data-end=\"558\">\n<p data-start=\"440\" data-end=\"558\"><span style=\"color: #99cc00;\">Cuando los segundos alcanzan ese valor, <span style=\"color: #008000;\">se <strong data-start=\"483\" data-end=\"507\">reinician a cero (0)<\/strong> y se <strong data-start=\"513\" data-end=\"531\">suma un minuto<\/strong><\/span> a la variable <em data-start=\"546\" data-end=\"555\">minutos<\/em>.<\/span><\/p>\n<\/li>\n<li data-start=\"559\" data-end=\"714\">\n<p data-start=\"561\" data-end=\"714\"><span style=\"color: #99cc00;\">Los <span style=\"color: #008000;\"><strong data-start=\"565\" data-end=\"576\">minutos<\/strong> <\/span>se incrementan de la misma forma y, al llegar a <strong data-start=\"625\" data-end=\"631\">59<\/strong>, se <span style=\"color: #008000;\"><strong data-start=\"636\" data-end=\"660\">reinician a cero (0)<\/strong><\/span> y se<span style=\"color: #008000;\"> <strong data-start=\"666\" data-end=\"691\">incrementa en uno (1)<\/strong><\/span> la variable <em data-start=\"704\" data-end=\"711\">horas<\/em>.<\/span><\/p>\n<\/li>\n<li data-start=\"715\" data-end=\"867\">\n<p data-start=\"717\" data-end=\"867\"><span style=\"color: #99cc00;\">Finalmente, cuando la variable <em data-start=\"748\" data-end=\"755\">horas<\/em> supera el valor <span style=\"color: #008000;\"><strong data-start=\"772\" data-end=\"778\">12<\/strong><\/span>, se reinicia y se asigna el valor <strong data-start=\"813\" data-end=\"818\">1<\/strong>, <span style=\"color: #008000;\">completando as\u00ed el ciclo del reloj anal\u00f3gico<\/span> \ud83d\udd52<\/span><\/p>\n<\/li>\n<\/ul>\n<p data-start=\"869\" data-end=\"1265\">Para implementar esta l\u00f3gica dentro de <span style=\"color: #008000;\"><strong data-start=\"908\" data-end=\"917\">RanGE<\/strong><\/span>, utilizaremos <span style=\"color: #008000;\"><strong data-start=\"932\" data-end=\"971\">sensores tipo <em data-start=\"948\" data-end=\"956\">Always<\/em> y <em data-start=\"959\" data-end=\"969\">Property<\/em><\/strong><\/span>, conectados a <span style=\"color: #008000;\"><strong data-start=\"986\" data-end=\"1007\">controladores AND<\/strong><\/span>, y finalmente a <span style=\"color: #008000;\"><strong data-start=\"1024\" data-end=\"1049\">actuadores <em data-start=\"1037\" data-end=\"1047\">Property<\/em><\/strong> <\/span>\ud83d\udd27\ud83e\uddf1.<br \/>\n<br data-start=\"1055\" data-end=\"1058\" \/>Estos actuadores ser\u00e1n los encargados de <span style=\"color: #008000;\"><strong data-start=\"1099\" data-end=\"1141\">modificar los valores de las variables<\/strong><\/span>, permiti\u00e9ndonos controlar correctamente el paso del tiempo y hacer que el reloj funcione de manera continua y coherente \ud83e\udde0\u2728<\/p>\n<p style=\"text-align: center;\"><code>\n<div class=\"wp-block-presto-player-reusable-edit\"><!--presto-player:video_id=12--><figure class=\"wp-block-video presto-block-video  presto-provider-youtube\" style=\"--plyr-color-main: var(--presto-player-highlight-color, #18b103); --presto-player-logo-width: 150px; \">\n\t<presto-player \n\t\tpreset='{&quot;id&quot;:1,&quot;name&quot;:&quot;Default&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;icon&quot;:&quot;format-video&quot;,&quot;skin&quot;:&quot;modern&quot;,&quot;play-large&quot;:true,&quot;rewind&quot;:true,&quot;play&quot;:true,&quot;fast-forward&quot;:true,&quot;progress&quot;:true,&quot;current-time&quot;:true,&quot;mute&quot;:true,&quot;volume&quot;:true,&quot;speed&quot;:false,&quot;pip&quot;:false,&quot;fullscreen&quot;:true,&quot;captions&quot;:false,&quot;reset_on_end&quot;:true,&quot;auto_hide&quot;:true,&quot;show_time_elapsed&quot;:false,&quot;captions_enabled&quot;:false,&quot;save_player_position&quot;:true,&quot;sticky_scroll&quot;:false,&quot;sticky_scroll_position&quot;:&quot;bottom right&quot;,&quot;on_video_end&quot;:&quot;select&quot;,&quot;play_video_viewport&quot;:false,&quot;hide_youtube&quot;:false,&quot;lazy_load_youtube&quot;:false,&quot;hide_logo&quot;:false,&quot;border_radius&quot;:0,&quot;caption_style&quot;:&quot;&quot;,&quot;caption_background&quot;:&quot;&quot;,&quot;is_locked&quot;:true,&quot;cta&quot;:[&quot;&quot;],&quot;watermark&quot;:[&quot;&quot;],&quot;search&quot;:[&quot;&quot;],&quot;email_collection&quot;:[&quot;&quot;],&quot;action_bar&quot;:[&quot;&quot;],&quot;created_by&quot;:1,&quot;created_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;updated_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;deleted_at&quot;:&quot;&quot;}'\n\t\tbranding='{&quot;logo&quot;:&quot;&quot;,&quot;logo_width&quot;:150,&quot;color&quot;:&quot;#18b103&quot;,&quot;player_css&quot;:&quot;&quot;}'\n\t\tchapters='[]'\n\t\toverlays='[]'\n\t\ttracks='[]'\n\t\tblock-attributes='{&quot;playsInline&quot;:true,&quot;id&quot;:12,&quot;src&quot;:&quot;https:\\\/\\\/youtu.be\\\/x58M1-Q_3I0&quot;,&quot;preset&quot;:1,&quot;video_id&quot;:&quot;x58M1-Q_3I0&quot;,&quot;visibility&quot;:&quot;public&quot;,&quot;color&quot;:&quot;#00b3ff&quot;,&quot;mutedPreview&quot;:{&quot;enabled&quot;:false,&quot;captions&quot;:false},&quot;mutedOverlay&quot;:{&quot;enabled&quot;:false,&quot;src&quot;:&quot;&quot;,&quot;width&quot;:200,&quot;focalPoint&quot;:{&quot;x&quot;:0.5,&quot;y&quot;:0.5}},&quot;mutedOverlayType&quot;:&quot;text&quot;,&quot;mutedOverlayText&quot;:&quot;Click to play&quot;,&quot;mutedOverlayImageWidth&quot;:200,&quot;chapters&quot;:[],&quot;overlays&quot;:[],&quot;tracks&quot;:[],&quot;title&quot;:&quot;https:\\\/\\\/youtu.be\\\/x58M1-Q_3I0&quot;}'\n\t\tanalytics=''\n\t\tautomations\t\tprovider='youtube'\n\t\t\t\tid=\"presto-player-2\"\n\t\tsrc=\"\/\/www.youtube.com\/embed\/x58M1-Q_3I0?iv_load_policy=3&amp;modestbranding=1&amp;playinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\"\n\t\tmedia-title=\"https:\/\/youtu.be\/x58M1-Q_3I0\"\n\t\tcss=\"\"\n\t\tclass=\"presto-video-id-12 presto-preset-id-1 skin-modern\"\n\t\tskin=\"modern\" \n\t\ticon-url=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/presto-player\/img\/sprite.svg\" \n\t\tpreload=\"\" \n\t\tposter=\"\"\n\t\tyoutube=\"{&quot;noCookie&quot;:false,&quot;channelId&quot;:&quot;&quot;,&quot;show_count&quot;:false}\"\n\t\tprovider-video-id=\"x58M1-Q_3I0\"\n\t\tvideo-id=\"12\"\n\t\t\t\tplaysinline \n\t\t\t\t>\n\t\t\n    <div class=\"presto-iframe-fallback-container\">\n        <iframe style=\"width: 100%\" title=\"Youtube Video\" class=\"presto-fallback-iframe\" id=\"presto-iframe-fallback-2\" data-src=\"https:\/\/www.youtube.com\/embed\/x58M1-Q_3I0?iv_load_policy=3&amp;modestbranding=1&amp;playsinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\" allowfullscreen allowtransparency allow=\"autoplay\"><\/iframe>\n    <\/div>\n\n\t<\/presto-player>\n<\/figure><\/div>\n<\/code><\/p>\n<h3>\ud83d\udd27 Depuraci\u00f3n<\/h3>\n<ul>\n<li><span style=\"color: #99cc00;\">Ve al men\u00fa <span style=\"color: #008000;\"><strong>Game<\/strong><\/span><\/span><\/li>\n<li><span style=\"color: #99cc00;\">Activa <span style=\"color: #008000;\"><strong>Show Profile<\/strong><\/span> y <span style=\"color: #008000;\"><strong>Debug Mode<\/strong><\/span><\/span><\/li>\n<li><span style=\"color: #99cc00;\">Selecciona el objeto <span style=\"color: #008000;\"><strong>counter<\/strong><\/span>, activa el bot\u00f3n de debug<\/span><\/li>\n<li><span style=\"color: #99cc00;\">Presiona <span style=\"color: #008000;\"><strong>P <\/strong><\/span>(<em>el cursor debe estar sobre la vista 3D<\/em>) o el bot\u00f3n <span style=\"color: #008000;\"><strong>Play<\/strong> <\/span>en la <span style=\"color: #008000;\">vista 3D<\/span><\/span><\/li>\n<\/ul>\n<hr \/>\n<h3 data-start=\"158\" data-end=\"224\">\ud83e\udde9 Buenas pr\u00e1cticas al trabajar con bloques de l\u00f3gica en Range<\/h3>\n<p data-start=\"226\" data-end=\"519\">Una muy buena pr\u00e1ctica al programar con bloques de l\u00f3gica en <span style=\"color: #008000;\"><strong data-start=\"287\" data-end=\"296\">Range<\/strong> <\/span>es<span style=\"color: #008000;\"> <strong data-start=\"300\" data-end=\"337\">nombrar correctamente cada bloque<\/strong><\/span>. Esto no solo te ayudar\u00e1 a entender mejor tu propia l\u00f3gica, sino que tambi\u00e9n facilitar\u00e1 que otras personas puedan comprender tus archivos cuando los revisen o les den mantenimiento.<\/p>\n<p data-start=\"521\" data-end=\"789\">En este caso, aunque se trata de algo sencillo, es <span style=\"color: #008000;\"><strong data-start=\"572\" data-end=\"619\">clave asignar nombres claros y descriptivos<\/strong><\/span> a cada bloque de l\u00f3gica. De esta forma podr\u00e1s seguir f\u00e1cilmente el flujo del sistema y tener total claridad sobre <span style=\"color: #008000;\"><strong data-start=\"734\" data-end=\"783\">qu\u00e9 est\u00e1 ocurriendo en cada parte del proceso<\/strong><\/span> \ud83d\udd17\ud83d\udd0d.<\/p>\n<p data-start=\"791\" data-end=\"1188\">De manera opcional <span style=\"color: #99cc00;\">\u2014pero altamente recomendable\u2014<\/span> puedes <span style=\"color: #008000;\"><strong data-start=\"847\" data-end=\"892\">a\u00f1adir un comentario al inicio del sensor<\/strong><\/span> (\u00edcono de hoja o libreta \ud83d\udcdd), donde describas brevemente la funci\u00f3n de ese bloque de l\u00f3gica.<br data-start=\"985\" data-end=\"988\" \/>Este peque\u00f1o detalle marca una gran diferencia, sobre todo en <span style=\"color: #008000;\"><strong data-start=\"1050\" data-end=\"1075\">proyectos m\u00e1s grandes<\/strong><\/span> o cuando vuelves a abrir un archivo despu\u00e9s de un tiempo y necesitas entender r\u00e1pidamente qu\u00e9 hace cada cosa \ud83d\ude09\u2728<\/p>\n<p style=\"text-align: center;\" data-start=\"791\" data-end=\"1188\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-872\" src=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/RangeEngine_5LTy55fkdQ.gif\" alt=\"\" width=\"371\" height=\"266\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h1>\ud83d\udd04 Paso 3: Rotando las manecillas<\/h1>\n<p>Si todo nos qued\u00f3 bien y las operaciones que vimos en el <em>debug<\/em> son correctas, entonces el ultimo paso es hacer que las\u00a0 manecillas se muevan. Pero antes de hacer esto debemos tomar en cuenta varias cosas, la primera es que el reloj obviamente no esta tomando la hora del sistema, por lo que nuestras variables siempre iniciar\u00e1n con un valor predeterminado (el que les hayamos puesto) por lo que necesitamos girarlas para que, en teor\u00eda, puedan iniciar correctamente.<\/p>\n<p>Vamos a tomar las tres manecillas y las rotamos para que todas apunten hacia la posicion que indica 12. En este caso por la forma en que hice el modelo, desde la vista TOP veo que las manecillas apuntan a la posicion 12.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-873\" src=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/RangeEngine_bV7xydXLc5.gif\" alt=\"\" width=\"706\" height=\"398\" \/><\/p>\n<p>Una vez hecho esto, ahora si procedemos a conectar los bloques de l\u00f3gica que nos permitir\u00e1n mover las manecillas.<\/p>\n<p style=\"text-align: center;\"><code>\n<div class=\"wp-block-presto-player-reusable-edit\"><!--presto-player:video_id=13--><figure class=\"wp-block-video presto-block-video  presto-provider-youtube\" style=\"--plyr-color-main: var(--presto-player-highlight-color, #18b103); --presto-player-logo-width: 150px; \">\n\t<presto-player \n\t\tpreset='{&quot;id&quot;:1,&quot;name&quot;:&quot;Default&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;icon&quot;:&quot;format-video&quot;,&quot;skin&quot;:&quot;modern&quot;,&quot;play-large&quot;:true,&quot;rewind&quot;:true,&quot;play&quot;:true,&quot;fast-forward&quot;:true,&quot;progress&quot;:true,&quot;current-time&quot;:true,&quot;mute&quot;:true,&quot;volume&quot;:true,&quot;speed&quot;:false,&quot;pip&quot;:false,&quot;fullscreen&quot;:true,&quot;captions&quot;:false,&quot;reset_on_end&quot;:true,&quot;auto_hide&quot;:true,&quot;show_time_elapsed&quot;:false,&quot;captions_enabled&quot;:false,&quot;save_player_position&quot;:true,&quot;sticky_scroll&quot;:false,&quot;sticky_scroll_position&quot;:&quot;bottom right&quot;,&quot;on_video_end&quot;:&quot;select&quot;,&quot;play_video_viewport&quot;:false,&quot;hide_youtube&quot;:false,&quot;lazy_load_youtube&quot;:false,&quot;hide_logo&quot;:false,&quot;border_radius&quot;:0,&quot;caption_style&quot;:&quot;&quot;,&quot;caption_background&quot;:&quot;&quot;,&quot;is_locked&quot;:true,&quot;cta&quot;:[&quot;&quot;],&quot;watermark&quot;:[&quot;&quot;],&quot;search&quot;:[&quot;&quot;],&quot;email_collection&quot;:[&quot;&quot;],&quot;action_bar&quot;:[&quot;&quot;],&quot;created_by&quot;:1,&quot;created_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;updated_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;deleted_at&quot;:&quot;&quot;}'\n\t\tbranding='{&quot;logo&quot;:&quot;&quot;,&quot;logo_width&quot;:150,&quot;color&quot;:&quot;#18b103&quot;,&quot;player_css&quot;:&quot;&quot;}'\n\t\tchapters='[]'\n\t\toverlays='[]'\n\t\ttracks='[]'\n\t\tblock-attributes='{&quot;playsInline&quot;:true,&quot;id&quot;:13,&quot;src&quot;:&quot;https:\\\/\\\/youtu.be\\\/mXXuFGUmhnM&quot;,&quot;preset&quot;:1,&quot;video_id&quot;:&quot;mXXuFGUmhnM&quot;,&quot;visibility&quot;:&quot;public&quot;,&quot;color&quot;:&quot;#00b3ff&quot;,&quot;mutedPreview&quot;:{&quot;enabled&quot;:false,&quot;captions&quot;:false},&quot;mutedOverlay&quot;:{&quot;enabled&quot;:false,&quot;src&quot;:&quot;&quot;,&quot;width&quot;:200,&quot;focalPoint&quot;:{&quot;x&quot;:0.5,&quot;y&quot;:0.5}},&quot;mutedOverlayType&quot;:&quot;text&quot;,&quot;mutedOverlayText&quot;:&quot;Click to play&quot;,&quot;mutedOverlayImageWidth&quot;:200,&quot;chapters&quot;:[],&quot;overlays&quot;:[],&quot;tracks&quot;:[],&quot;title&quot;:&quot;https:\\\/\\\/youtu.be\\\/mXXuFGUmhnM&quot;}'\n\t\tanalytics=''\n\t\tautomations\t\tprovider='youtube'\n\t\t\t\tid=\"presto-player-3\"\n\t\tsrc=\"\/\/www.youtube.com\/embed\/mXXuFGUmhnM?iv_load_policy=3&amp;modestbranding=1&amp;playinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\"\n\t\tmedia-title=\"https:\/\/youtu.be\/mXXuFGUmhnM\"\n\t\tcss=\"\"\n\t\tclass=\"presto-video-id-13 presto-preset-id-1 skin-modern\"\n\t\tskin=\"modern\" \n\t\ticon-url=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/presto-player\/img\/sprite.svg\" \n\t\tpreload=\"\" \n\t\tposter=\"\"\n\t\tyoutube=\"{&quot;noCookie&quot;:false,&quot;channelId&quot;:&quot;&quot;,&quot;show_count&quot;:false}\"\n\t\tprovider-video-id=\"mXXuFGUmhnM\"\n\t\tvideo-id=\"13\"\n\t\t\t\tplaysinline \n\t\t\t\t>\n\t\t\n    <div class=\"presto-iframe-fallback-container\">\n        <iframe style=\"width: 100%\" title=\"Youtube Video\" class=\"presto-fallback-iframe\" id=\"presto-iframe-fallback-3\" data-src=\"https:\/\/www.youtube.com\/embed\/mXXuFGUmhnM?iv_load_policy=3&amp;modestbranding=1&amp;playsinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\" allowfullscreen allowtransparency allow=\"autoplay\"><\/iframe>\n    <\/div>\n\n\t<\/presto-player>\n<\/figure><\/div>\n<\/code><\/p>\n<hr \/>\n<h1>\ud83c\udfaf Paso 7: Probando el reloj<\/h1>\n<p>Presiona <span style=\"color: #008000;\"><strong>Play<\/strong> <\/span>\u25b6\ufe0f<\/p>\n<p><span style=\"color: #008000;\">Deber\u00edas ver:<\/span><\/p>\n<ul>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">La manecilla<\/span> de los segundos tic-tic cada segundo<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">Cada 60 segundos<\/span>, la manecilla de minutos avanza 6\u00b0<\/span><\/li>\n<li><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">Cada 60 minutos<\/span>, la manecilla de las horas avanza 30\u00b0<\/span><\/li>\n<\/ul>\n<p>\ud83d\udca1 <em>Tip:<\/em> Si las manecillas giran al rev\u00e9s, cambia el valor del eje a negativo (-6\u00b0 o -30\u00b0).<\/p>\n<p><span style=\"color: #008000;\"><strong>Aqu\u00ed tienes el ejercicio terminado. Si encontraste alguna dificultad durante el tutorial, puedes revisar este ejemplo para entender mejor su funcionamiento y resolver tus dudas.<\/strong><\/span><\/p>\n<p style=\"text-align: center;\"><span class=\"shared-files-shortcode-admin-list shared-files-shortcode-admin-list-file shared-files-shortcode-1044\" title=\"&lt;div class=&quot;shared-files-embed-69d21f9c7c394 shared-files-main-container&quot; data-elem-class=&quot;shared-files-embed-69d21f9c7c394&quot; data-search-type=&quot;0&quot; data-post-id=&quot;621&quot;&gt;&lt;div class=&quot;shared-files-search&quot;&gt;&lt;ul class=&quot;shared-files-main-file-list&quot;&gt;&lt;li class=&quot;shared-files-card-1044&quot;&gt;&lt;div class=&quot;shared-files-main-elements&quot;&gt;&lt;div class=&quot;shared-files-main-elements-left&quot; style=&quot;background-image: url(https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/shared-files\/img\/2020\/zip.svg);&quot;&gt;&lt;\/div&gt;&lt;div class=&quot;shared-files-main-elements-right&quot;&gt;&lt;a class=&quot;shared-files-file-title&quot;  data-file-type=&quot;&quot;  data-file-url=&quot;\/blog\/uploads\/shared-files\/1044\/?Reloj_Blender.zip&quot;  data-external-url=&quot;&quot;  data-image-url=&quot;&quot; href=&quot;\/blog\/uploads\/shared-files\/1044\/?Reloj_Blender.zip&quot; target=&quot;_blank&quot;&gt;Reloj B\u00e1sico &#8211; Sample file&lt;\/a&gt;&lt;span class=&quot;shared-file-size&quot;&gt;118.43 KB&lt;\/span&gt;&lt;span class=&quot;shared-file-date&quot;&gt;March 18, 2026&lt;\/span&gt;&lt;div class=&quot;shared-files-download-counter&quot;&gt;&lt;span&gt;Downloads: 16&lt;\/span&gt;&lt;\/div&gt;&lt;div class=&quot;shared-files-download-button-container&quot;&gt;&lt;a href=&quot;\/blog\/uploads\/shared-files\/1044\/?Reloj_Blender.zip&amp;download=1&quot; class=&quot;shared-files-download-button&quot;  download&gt;Download&lt;\/a&gt;&lt;\/div&gt;&lt;div class=&quot;shared-files-edit-actions&quot;&gt;&lt;\/div&gt;&lt;\/div&gt;&lt;\/div&gt;&lt;\/li&gt;&lt;\/ul&gt;&lt;\/div&gt;&lt;\/div&gt;\"><div class=\"shared-files-embed-69d21f9c8a964 shared-files-main-container\" data-elem-class=\"shared-files-embed-69d21f9c8a964\" data-search-type=\"0\" data-post-id=\"1044\"><div class=\"shared-files-search\"><ul class=\"shared-files-main-file-list\"><li class=\"shared-files-card-1044\"><div class=\"shared-files-main-elements\"><div class=\"shared-files-main-elements-left\" style=\"background-image: url(https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/shared-files\/img\/2020\/zip.svg);\"><\/div><div class=\"shared-files-main-elements-right\"><a class=\"shared-files-file-title\"  data-file-type=\"\"  data-file-url=\"\/blog\/uploads\/shared-files\/1044\/?Reloj_Blender.zip\"  data-external-url=\"\"  data-image-url=\"\" href=\"\/blog\/uploads\/shared-files\/1044\/?Reloj_Blender.zip\" target=\"_blank\">Reloj B\u00e1sico &#8211; Sample file<\/a><span class=\"shared-file-size\">118.43 KB<\/span><span class=\"shared-file-date\">March 18, 2026<\/span><div class=\"shared-files-download-counter\"><span>Downloads: 16<\/span><\/div><div class=\"shared-files-download-button-container\"><a href=\"\/blog\/uploads\/shared-files\/1044\/?Reloj_Blender.zip&download=1\" class=\"shared-files-download-button\"  download>Download<\/a><\/div><div class=\"shared-files-edit-actions\"><\/div><\/div><\/div><\/li><\/ul><\/div><\/div><\/span><\/p>\n<hr \/>\n<h2 data-start=\"222\" data-end=\"263\">\ud83c\udfc1 Conclusiones y lecciones aprendidas<\/h2>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-902\" src=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/pointing.jpg\" alt=\"\" width=\"679\" height=\"410\" srcset=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/pointing.jpg 679w, https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/pointing-300x181.jpg 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/p>\n<p data-start=\"265\" data-end=\"520\">Con este ejercicio del reloj hemos construido algo aparentemente sencillo, pero muy \u00fatil para comprender <span style=\"color: #008000;\"><strong data-start=\"370\" data-end=\"419\">c\u00f3mo funcionan los bloques de l\u00f3gica en Range<\/strong><\/span> y c\u00f3mo se comunican entre s\u00ed para generar un comportamiento continuo y controlado en el tiempo \ud83e\udde0\u2699\ufe0f.<\/p>\n<p data-start=\"522\" data-end=\"833\">A lo largo del tutorial pudimos ver que, m\u00e1s all\u00e1 del resultado visual, lo realmente importante es<span style=\"color: #008000;\"> <strong data-start=\"621\" data-end=\"649\">entender el flujo l\u00f3gico<\/strong>:<\/span> c\u00f3mo los sensores detectan condiciones, c\u00f3mo los controladores eval\u00faan esas condiciones y c\u00f3mo los actuadores modifican las variables que hacen que el sistema funcione correctamente.<\/p>\n<h3 data-start=\"835\" data-end=\"874\">\ud83d\udccc Lo m\u00e1s importante que aprendimos<\/h3>\n<ul data-start=\"876\" data-end=\"1495\">\n<li data-start=\"876\" data-end=\"1062\">\n<p data-start=\"878\" data-end=\"1062\">\u23f1\ufe0f El manejo del tiempo en un motor de juegos <span style=\"color: #008000;\"><strong data-start=\"924\" data-end=\"948\">no siempre es exacto<\/strong><\/span>, ya que depende del rendimiento de cada equipo. Aun as\u00ed, es perfecto para pr\u00e1cticas y sistemas l\u00f3gicos como este.<\/p>\n<\/li>\n<li data-start=\"1063\" data-end=\"1200\">\n<p data-start=\"1065\" data-end=\"1200\">\ud83e\udde9 Nombrar correctamente los bloques de l\u00f3gica y a\u00f1adir comentarios hace que el proyecto sea <span style=\"color: #008000;\"><strong data-start=\"1158\" data-end=\"1199\">mucho m\u00e1s legible y f\u00e1cil de mantener<\/strong><\/span>.<\/p>\n<\/li>\n<li data-start=\"1201\" data-end=\"1312\">\n<p data-start=\"1203\" data-end=\"1312\">\ud83d\udd01 Un sistema complejo puede construirse a partir de <span style=\"color: #008000;\"><strong data-start=\"1256\" data-end=\"1275\">bloques simples<\/strong><\/span>, siempre que est\u00e9n bien organizados.<\/p>\n<\/li>\n<li data-start=\"1313\" data-end=\"1495\">\n<p data-start=\"1315\" data-end=\"1495\">\ud83d\udee0\ufe0f Los sensores <span style=\"color: #008000;\"><strong><em data-start=\"1332\" data-end=\"1340\">Always<\/em><\/strong> y <strong><em data-start=\"1343\" data-end=\"1353\">Property<\/em><\/strong><\/span>, combinados con controladores <span style=\"color: #008000;\"><strong><em data-start=\"1384\" data-end=\"1389\">AND<\/em> <\/strong>y <strong>actuadores <em data-start=\"1403\" data-end=\"1413\">Property<\/em><\/strong><\/span>, permiten crear sistemas totalmente funcionales sin necesidad de escribir c\u00f3digo.<\/p>\n<\/li>\n<\/ul>\n<h3 data-start=\"1497\" data-end=\"1515\">\ud83d\ude80 \u00bfQu\u00e9 sigue?<\/h3>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-908\" src=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/thinking.jpg\" alt=\"\" width=\"679\" height=\"338\" srcset=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/thinking.jpg 679w, https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/thinking-300x149.jpg 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/p>\n<p data-start=\"1517\" data-end=\"1581\">Este reloj es solo el punto de partida. A partir de aqu\u00ed puedes:<\/p>\n<ul data-start=\"1582\" data-end=\"1805\">\n<li data-start=\"1582\" data-end=\"1621\">\n<p data-start=\"1584\" data-end=\"1621\"><span style=\"color: #99cc00;\">A\u00f1adir un <span style=\"color: #008000;\"><strong data-start=\"1594\" data-end=\"1620\">formato de 12\/24 horas<\/strong>.<\/span><\/span><\/p>\n<\/li>\n<li data-start=\"1622\" data-end=\"1674\">\n<p data-start=\"1624\" data-end=\"1674\"><span style=\"color: #99cc00;\">Mostrar la hora en <span style=\"color: #008000;\"><strong data-start=\"1643\" data-end=\"1673\">pantalla o en un objeto 3D<\/strong><\/span>.<\/span><\/p>\n<\/li>\n<li data-start=\"1675\" data-end=\"1720\">\n<p data-start=\"1677\" data-end=\"1720\"><span style=\"color: #99cc00;\"><span style=\"color: #008000;\">Sincronizarlo<\/span> con otros sistemas del juego.<\/span><\/p>\n<\/li>\n<li data-start=\"1721\" data-end=\"1805\">\n<p data-start=\"1723\" data-end=\"1805\"><span style=\"color: #99cc00;\">Usarlo como base para temporizadores, cooldowns o eventos dependientes del tiempo.<\/span><\/p>\n<\/li>\n<\/ul>\n<p data-start=\"1807\" data-end=\"2056\">Recuerda que estos ejercicios no buscan la perfecci\u00f3n, sino <span style=\"color: #008000;\"><strong data-start=\"1867\" data-end=\"1908\">entrenar tu forma de pensar en l\u00f3gica<\/strong><\/span>. Una vez que entiendes c\u00f3mo fluye la informaci\u00f3n dentro del motor, podr\u00e1s construir sistemas cada vez m\u00e1s complejos con mucha mayor confianza \ud83d\udcaa\ud83c\udfae.<\/p>\n<h3 data-start=\"835\" data-end=\"874\">\ud83d\udccc Ahora que entramos en temas de l\u00f3gica&#8230;<\/h3>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-807\" src=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/complete_gameloop.jpg\" alt=\"\" width=\"625\" height=\"462\" srcset=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/complete_gameloop.jpg 625w, https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/complete_gameloop-300x222.jpg 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/p>\n<p data-start=\"81\" data-end=\"339\">A medida que avanzas y comienzas a crear sistemas m\u00e1s complejos utilizando <span style=\"color: #008000;\"><em data-start=\"156\" data-end=\"170\">logic bricks<\/em><\/span> (<span style=\"color: #008000;\">o bloques de l\u00f3gica<\/span>), es muy com\u00fan encontrarte con situaciones donde todo parece estar correctamente configurado\u2026 pero el resultado simplemente no es el que esperabas.<\/p>\n<p data-start=\"341\" data-end=\"579\">En la mayor\u00eda de los casos, esto sucede porque a\u00fan no tienes una comprensi\u00f3n completa de c\u00f3mo funciona internamente el <span style=\"color: #008000;\"><strong data-start=\"460\" data-end=\"473\">Game Loop<\/strong><\/span> en <span style=\"color: #008000;\"><strong>Range<\/strong><\/span>. Este sistema es el coraz\u00f3n del motor y define c\u00f3mo y cu\u00e1ndo se ejecuta cada parte de tu l\u00f3gica.<\/p>\n<p data-start=\"581\" data-end=\"666\">Por eso, entenderlo no es opcional si quieres dar el siguiente paso en tu desarrollo.<\/p>\n<p data-start=\"668\" data-end=\"945\" data-is-last-node=\"\" data-is-only-node=\"\">Te recomiendo continuar con <a href=\"https:\/\/salvador.mata.com.mx\/blog\/2026\/01\/26\/game-loop-range-upbge-bge\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #008000;\"><strong>el siguiente tutorial<\/strong><\/span><\/a>, donde exploramos a fondo el funcionamiento del <span style=\"color: #008000;\"><strong>Game Loop<\/strong><\/span> en <strong>Range Game Engine<\/strong>. Dominar este concepto marcar\u00e1 una gran diferencia en la forma en que construyes tus proyectos\u2026 y te acercar\u00e1 cada vez m\u00e1s a un nivel profesional \ud83d\ude80<\/p>\n<p data-start=\"2058\" data-end=\"2097\"><span style=\"color: #008000;\"><strong>Nos vemos en el siguiente tutorial<\/strong><\/span> \ud83d\udc4b\ud83d\udd25<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u23f1\ufe0fHaciendo la l\u00f3gica para el reloj anal\u00f3gico en RanGE Ahora creo que estamos listos para continuar con la l\u00f3gica, la cual es lo m\u00e1s importante para hacer que el reloj anal\u00f3gico funcione correctamente. Como mencion\u00e9 antes, estoy usando Range Game Engine versi\u00f3n 1.6 Rev2 Release, que es la m\u00e1s reciente pero a\u00fan no est\u00e1 disponible [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":867,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[136],"tags":[159],"class_list":["post-621","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-logic-bricks"],"jetpack_featured_media_url":"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/uploads\/2026\/01\/analogClock_GIF.gif","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=621"}],"version-history":[{"count":19,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/621\/revisions"}],"predecessor-version":[{"id":1118,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/621\/revisions\/1118"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/media\/867"}],"wp:attachment":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}