Controladorta enchufaptiykiqa, botoneskunata mash ruwanki, k'aspikunata kuyuchinki, gatillokunata aysanki... chaymanta huk desarrollador hina, mana mayqintapas rikunkichu. Navegador chayta hap’ichkan, chiqamanta, ichaqa mana yupaykunata consola kaqpi qillqachkankichu chayqa, mana rikukuq. Chayqa uma nanay Gamepad API kaqwan. Watakunañan kashan, cheqaqpiqa ancha atiyniyoqmi. Ñawinchayta atinki botones, k’aspikunata, gatillokunata, llamk’aykunata. Ichaqa yaqa llapa runakunan mana llamiykunkuchu. Imanasqa? Imaraykuchus mana ima kutichiypas kanchu. Mana panelniyuqchu paqarichiqniyuq yanapakuykunapi. Mana sut’i ñan yachanapaq sichus controlador’s ruwashanpas yuyaykusqaykita. Ñawsa phaway hinan sientekun. Chayqa suficiente pantachiwarqa huk uchuy yanapakuyta ruwanaypaq: Gamepad Cascade Debugger. Consola lluqsiyta qhawanaykimantaqa, huk kawsaq, interactivo qhawayta kamachiqmanta tarinki. Imatapas ñit’iy hinaspa pantallapi reaccionan. Hinallataq CSS Cascade Layers kaqwan, estilokuna wakichisqa qhipakunku, chayrayku aswan ch’uya pantay allichaypaq. Kay qillqasqapi, rikuchisqayki imarayku kamachiqkuna pantay allichay chayhina nanay kasqanmanta, imayna CSS yanapan pichayta, chaymanta imayna huk musuqmanta llamk’anapaq rikuy pantachiq ruwayta atikunki kikiykipaq ruwasqaykikunapaq.

Llapallankuta qillqayta atispapas, usqhaylla mana ñawirinapaq consola spam kaqwan tukunki. Ejemplopaq: [0,0,1,0,0,0,5,0,...] nisqa. [0,0,0,0,1,0,0,...] nisqa. [0,0,1,0,0,0,0,...] nisqa.

¿Willawaqchu ima boton ñit’isqa kasqanmanta? Ichapas, ichaqa ñawiykita llasaqyachispa huk iskay kimsa yaykuykunata faltaspalla. Chaymi, mana, pantay allichayqa mana facilchu hamun yaykusqakuna ñawiriymanta rimaspa. 3 kaq sasachakuy: Mana Estructura nisqayuq Utqaylla qhawachiqta hukllaman wikch’unki chaypas, estilokunaqa usqhayllan ch’aqwayman tukupunman. Ñawpaqmanta, ruwasqa, chaymanta pantasqa allichay estadokuna tupanakunkuman, chaymanta mana sut'i estructurayuq, CSS kaqniykiqa k'irisqa chaymanta sasa mast'ariypaq tukun. CSS Cascade Layers yanapakunman. Paykunaqa estilokunata “capas” kaqpi huñunku mayqinkunachus ñawpaqman churasqa kanku, chayrayku especificidadwan maqanakuyta saqinki chaymanta adivinanki, “¿Imaraykutaq mana depuración estiloy rikuchichkanchu?” Aswanpas sapaq llakikuykunatan waqaychanki:

Base: Controladorpa estándarnin, qallariy rikch’aynin. Activo: ñit’isqa botonespaq, kuyuchisqa k’aspikunapaq ima resaltan. Pantasqa allichay: Ruwaqkunapaq llanthukuna (e.g., yupay ñawiriykuna, pusaqkuna, chaymanta wakkuna).

Sichus kayman hina CSS kaqpi qatata riqsichisunman chayqa, kayhinata ruwasunman: /* aswan pisimanta aswan hatun ñawpaqman churaykama */ @qata base, ruwaq, pantaykunata allichay;

@qata base { . /* ... */ . } .

@qata llamk'aq { . /* ... */ . } .

@qata pantachiy { . /* ... */ . } .

Sapa qatana predeciblemente pilakuna kasqanrayku, sapa kuti yachanki mayqin kamachiykuna atipanku. Chay predecibilidad ruwan pantasqa allichayta mana aswan facilllachu, aswanpas chiqamanta kamachiy atiy. Sasachakuy (mana rikukuq, chaqrusqa yaykuy) chaymanta enfoque (huk rikuy pantachiq Cascade Layers kaqwan ruwasqa) qatayku. Kunanqa puririsunchismi llank’aymanta llank’ayman, pantachiqta ruwanapaq. Chay Debugger nisqa yuyay Pakasqa yaykuy rikukuq kananpaq aswan facilqa pantallapi siq'iylla. Chaytan kay pantachiq ruwan. Botones, gatillos, joysticks nisqakuna llapanku huk rikuy tarinku.

A ñit’iy: Huk muyu k’ancharin. K’aspita tanqay: Muyuqa muyuriqpi llimp’in. Huk gatillota kuskan ñanta aysay: Huk barraqa kuskan ñanninta hunt’achin.

Kunanqa mana 0s chaymanta 1s qhawachkankichu, ichaqa chiqamanta qhawachkanki controlador kawsaq reaccionasqanmanta. Chiqamanta, huk kuti estadokunapi pilayta qallarinki imaynachus ñawpaqmanta churasqa, ñit'isqa, pantay allichay info, ichapas huk grabacion modopas, CSS aswan hatun chaymanta aswan sasachakuyniyuq kayta qallarikun. Chaypin cascada capas nisqakuna allinta yanapakun. Kaypin huk q’arachasqa ejemplo kashan: @qata base { . .boton { . qhipa pacha: #222; frontera-radio: 50%; ancho: 40px; sayaynin: 40px; } . } .

@qata llamk'aq { . .boton. ñit'isqa { . qhipa kaq: #0f0; /* k'anchariq q'umir */ . } . } .

@qata pantachiy { . .botón::qhipa { . contenido: attr (datos-valor); letra-tamaño: 12px; llimp'i: #fff; } . } .

Qata ordenqa ancha chaniyuqmi: base → activo → pantasqa allichay.

base nisqa kamachiqta siq’in. activo hapinakuna ñit’isqa estadokuna. pantay allichayqa llanthukunapi wikch'un.

Kay hinata t’aqaspaqa manan extraño especificidad guerrakunawanchu maqanakushanki. Sapa qatanapa kanmi maypi kasqan, yachankipunim imakuna atipasqanmanta. Chayta Wasichay Ñawpaqtaqa pantallapi imatapas churasun. Manan allin qhawarikunanchu — kananllanmi chaymi imapas llank’ananchispaq.

Pukllanakuna Cascada pantachiq

A
B
nisqa
X
nisqa

nisqa
nisqa
nisqa

Pantachaq mana llamk'aq

nisqa qillqasqa

Chayqa literalmente cajakunalla. Manaraqmi kusikuypaqchu, ichaqa hapinakunata quwanchik qhipaman CSSwan JavaScriptwan hap'inapaq. Allinmi, kaypi cascada capas llamk’achkani imaraykuchus imakunatapas organizasqa waqaychan huk kuti aswan estadokunata yapanki. Kaypi huk q’ara pasay kachkan:

/* ============================================================================== CASCADE CAPAS CONFIGURACIÓN Ordenmanta materiakuna: base → activo → pantaykunata allichay ===================================== */

/* Qata ordenta ñawpaqmanta sut'inchay */ . @qata base, ruwaq, pantaykunata allichay;

/* 1 kaq qata: Sapsi estilokuna - ñawpaqmanta rikch'aynin */ . @qata base { . .boton { . qhipa pacha: #333; frontera-radio: 50%; ancho: 70px; sayaynin: 70px; qhaway: flex; justificar-contenido: chawpi; alinear-items: chawpi; } .

.pausa { . ancho: 20px; sayaynin: 70px; qhipa pacha: #333; qhaway: inline-block; } . } .

/* 2 kaq qata: Ruwasqa suyukuna - ñit'isqa ñit'inakunata hap'in */ @qata llamk'aq { . .botón.activo { . qhipa kaq: #0f0; /* ñit'isqa kaptinqa llimp'i q'umir */ tikray: escala(1.1); /* Aslla hatunyachin botonta */ . } .

.pausa.activo { . qhipa kaq: #0f0; tikray: escalaY (1.1); /* ñit'isqa kaptinqa sayaqmanmi llañuyachin */ . } . } .

/* 3 kaq qata: Pantasqa llanthukuna allichay - paqarichiqniyuq willakuy */ @qata pantachiy { . .botón::qhipa { . contenido: attr (datos-valor); /* Yupay chanita rikuchin */ . letra-tamaño: 12px; llimp'i: #fff; } . } .

Kay ruwaypa sumaq kayninqa sapa qata sut’i imapaq kasqanmi. Sapsi qatanaqa manam hayk'appas llamk'achiqta llalliyta atinchu, llamk'aqtaq manam hayk'appas pantasqa allichayta llalliyta atinchu, ima especificidad nisqatapas qhawaspa. Kayqa CSS especificidad maqanakuykunata chinkachin mayqinkunachus sapa kuti pantay allichay yanapakuykunata ñak'arichinku. Kunanqa wakin racimokuna yana fondopi tiyachkanmanpas hinam. Honestamente, mana ancha millaychu.

JavaScript nisqa yapay JavaScript pacha. Kaypim controlador chiqaptapuni imatapas ruwan. Kaytaqa llamk’aymanta llamk’ayman hatarichisunchik. 1 kaq phatma: Estado kamachiyta churay Ñawpaqtaqa, pantachiqpa kayninta qatipanapaq tikraqkunata necesitanchik: // ===================================================================================== // ESTADOS GESTIÓN // =====================================================================================

let phaway = llulla; // Pantasqa allichaq llamk'achkanchu icha manachu chayta qatin kachun rafId; // requestAnimationFrame ID nisqatam waqaychan qulluchinapaq

Kay tikraqkuna kawsachiy llikata kamachin mayqinchus sapa kuti gamepad yaykuyta ñawirin. 2 kaq llankay: DOM Referencias nisqakunata hap’iy Chaymanta, llapa HTML elementokuna musuqyachisqaykumanta referenciakunata jap’iyku: // ===================================================================================== // DOM ELEMENTO REFERENCIAS // =====================================================================================

const btnA = qillqa.getElementById ("btn-a"); const btnB = qillqa.getElementById ("btn-b"); const btnX = qillqa.getElementById ("btn-x"); const pause1 = qillqa.getElementById ("pause1"); const pause2 = qillqa.getElementById ("pausa2"); const estado = document.getElementById ("estado");

Kay referenciakunata ñawpaqmanta waqaychayqa aswan allinmi DOM kaqmanta sapa kuti tapuymanta. 3 kaq llankay: Teclado Fallback yapay Mana controlador físico kaqwan pruebapaq, teclado llavekunata botones kaqman mapasaqku: // ===================================================================================== // KEYBOARD FALLBACK (mana kamachiqniyuq pruebapaq) // =====================================================================================

const llaveMapa = { . "a": btnA, . "b": btnB, . "x": btnX, . "p": [pause1, pause2] // 'p' llave iskaynin pausa barrata kamachin };

Kayqa UI pruebayta saqiwanchik huk teclado kaqpi teclas ñit'ispa. 4 kaq llankay: Hatun Kunanchay Bucle nisqa ruway Kaypin chay magia ruwakun. Kay ruwana sapa kuti purin chaymanta gamepad estadota ñawirin: // ===================================================================================== // GAMEPAD PRINCIPAL ACTUALIZACIÓN LOOP // =====================================================================================

ruway musuqyachiyGamepad () { . // Llapan tinkisqa gamepads nisqakunata hap'iy const pukllanakuna = purichiq.getGamepads (); sichus (!gamepads) kutimun;

// Ñawpaq kaq tinkisqa gamepad nisqawan yanapachikuy const gp = pukllanakuna [0];

sichus (gp) { . // "Activo" claseta tikraspa botón estadokunata musuqyachiy btnA.classList.toggle ("ruraq", gp.botones [0]. ñit'isqa); btnB.classList.toggle ("ruraq", gp.botones [1]. ñit'isqa); btnX.classList.toggle ("ruraq", gp.botones [2]. ñit'isqa);

// Pausa ñit'inata hap'iy (yaqa llapan kamachiqkunapi 9 ñit'ina indisyu) . const pausePressed = gp.botones [9]. ñit'isqa; pause1.classList.toggle ("ruraq", pausePressed); pause2.classList.toggle ("ruraq", pausePressed);

// Kunan ñit'isqa botonesmanta lista ruway estado qhawanapaq ñit'isqa = []; gp.botones.forSapa ((btn, i) => { sichus (btn.presionado) .ñit'isqa.push ("Botón " + i); });

// Ima botones ñit'isqa kaptinqa estado qillqata musuqyachiy sichus ( ñit'isqa.largo > 0) { . status.textContent = "Tinqasqa: " + ñit'isqa.hunt'ay (", "); } . } .

// Debugger purichkaptinqa llalliyta qatipay sichus (phaway) { . rafId = mañakuyAnimationFrame (Gamepad musuqyachiy); } . } .

classList.toggle() ruwayqa ruwaq claseta yapan utaq hurqun sichus botón ñit'isqa kasqanman hina, chaymi CSS qata estiloykuta llamk'achin. 5 kaq phatma: Teclado nisqapi ruwaykunata qhaway Kay ruway uyariqkuna teclado fallback llamk'ayta ruwanku: // ===================================================================================== // TEclaDO EVENTOS MANEJOS // =====================================================================================

document.addEventListener("llave urayman", (e) => { sichus (llaveMap[e.llave]) { . // Huklla utaq achka elementokunata hapiy sichus (Array.isArray (llaveMap [e.llave])) { llaveMapa [e.llave].paqSapa (el => el.classList.yapay ("ruraq")); } else { . llaveMapa [e.llave]. claseList.yapay ("ruraq"); } . status.textContent = "Llave ñit'isqa: " + e.llave.toUpperCase(); } . });

document.addEventListener("llavemanta churay", (e) => { sichus (llaveMap[e.llave]) { . // Llave kacharisqa kaptin activo estadota hurquy sichus (Array.isArray (llaveMap [e.llave])) { llaveMapa [e.llave].paqSapa (el => el.classList.remove ("activo")); } else { . llaveMapa [e.llave].classList.remove ("ruraq"); } . status.textContent = "Llave kacharisqa: " + e.llave.toUpperCase(); } . });

6 kaq phatma: Qallariy/Sapay kamachiyta yapay Tukuchanapaq, huk ñanta necesitanchik pantachiqta llamk'achinapaq chaymanta wañuchinapaq: // ===================================================================================== // TOGGLE DEPUGGER ON/OFF nisqa // =====================================================================================

document.getElementById("toggle").yapayEventUyariq("k'iriy", () => { phaway = !phaway; // Ruwachkaq estadota tikray

sichus (phaway) { . status.textContent = "Payta allichaq purichkan..."; updateGamepad (); // Kunanchay llimp'ita qallariy } else { . status.textContent = "Pantachaq mana llamk'aq"; cancelarAnimaciónMarco (rafId) nisqamanta; // Chay llalliyta sayachiy } . });

Chaymi arí, huk boton ñit’iy hinaspa llimp’in. K’aspita tanqaspa kuyurin. Chayqa. Huk kaqninmi: crudo valores. Wakin kutiqa yupaykunallatam qawayta munanki, manam achkikunatachu.

Kay etapapiqa, qhawanayki tiyan:

Pantallapi huk sanu kamachiq, . Paykunawan tinkisqaykiman hina reaccionaq botones, hinaspa Huk akllana pantay allichay ñawiriy ñit'isqa ñit'isqa ñit'ina indiskuna rikuchiq.

Kayta mana ancha abstracto kananpaq, kaypi huk usqhayta rikuchiy pantallapi kamachiq chiqa pachapi ruwaqmanta:

Kunanqa, Grabacionta qallariy ñit’iyqa tukuy imata registran Grabacionta sayachiy ñit’inaykikama. 2. CSV/JSON nisqaman Willayta hawaman apachiy Huk kuti registroyuq kaspaqa, waqaychayta munasun.

nisqa

1 kaq llankay: Descarga Yanapakuqta ruway Ñawpaqtaqa, huk yanapakuq ruwayta necesitayku, chaymi navegadorpi archivokuna uraykachiyta ruwan: // ===================================================================================== // ARCHIVO DE DESCARGAR YANAPAQ // =====================================================================================

function downloadFile(willakuypa sutin, contenido, tipo = "qillqa/llano") { // Contenidomanta huk blobta ruway const blob = musuq Blob ([contenido], { tipo }); const url = URL.kamachiyObjetoURL (blob);

// Huk ratullapaq uraykachina t'inkita ruway hinaspa ñit'iy const a = qillqa.rurayElement ("a"); a.href = url nisqa; a.download = willañiqip sutin; a.click ();

// Uraykachiy qhipaman ima URL kaqta pichay setTimeout (() => URL.Qhipa ObjetoURL (url), 100); } .

Kay ruwana llamkan huk Blob (iskay hatun objeto) ruwaspa willayniykimanta, huk pachapaq URL chaypaq ruwaspa, chaymanta programamanta huk uraykachina t'inki ñit'ispa. Chay pichayqa mana memoria lluqsichinaykupaq qhawan. 2 kaq llankay: JSON Hawaman apachiyta llamk'achiy JSON hunt'asqa willaypa ruwayninta waqaychaypaq allin kachkan:

// ===================================================================================== // JSON hina RUWAY // =====================================================================================

document.getElementById("export-json").yapayEventUyariq("k'iriy", () => { // Imapas hawaman apachinapaq kasqanmanta qhaway sichus (!marcos.largo) { . console.warn("Manan ima grabacionpas kanchu hawaman apachinapaq."); kutimuy; } .

// Metadatoswan, marcokunawan ima carga útil nisqa ruway const carga útil = { . kamasqaAt: musuq P'unchaw().toISOString(), . marcos nisqakuna };

// JSON formatoyuq hina uraykachiy uraykachiyArchivo( "pukllana-log.json", JSON.stringify (carga útil, nulo, 2), . "aplicación/json" nisqa. ); });

JSON formato tukuy imata estructurasqa chaymanta mana sasa t'aqwiypaq waqaychan, chaymanta allin dev yanapakuykunaman kuti karganapaq utaq equipo masikunawan rakinapaq. 3 kaq llankay: CSV Hawaman apachiyta kamachiy CSV hawaman apachinapaq, jerárquico willayta filakunaman chaymanta sapaqkunaman llañuyachinanchik tiyan:

// .==================================================== // EXPORTACIÓN COMO CSV // =====================================================================================

document.getElementById("export-csv").yapayEventUyariq("k'iriy", () => { // Imapas hawaman apachinapaq kasqanmanta qhaway sichus (!marcos.largo) { . console.warn("Manan ima grabacionpas kanchu hawaman apachinapaq."); kutimuy; } .

// CSV umalliq filata ruway (tiempo sellopaq columnakuna, llapa botones, llapa ejes) const umalliqBotones = marcos [0].botones.mapa ((_, i) => btn $ {i}); const umalliqEjes = marcos [0]. ejes.mapa ((_, i) => eje $ {i}); const umalliq = ["t", ...umaqBotonkuna, ...umapaEjes].hunt'ay (",") + "\n";

// CSV willay filakunata ruway const filakuna = marcos.mapa(f => { . const btnVals = f.botones.mapa (b => b.valor); kutichiy [f.t, ...btnVals, ...f.ejes].hunt'ay (","); }).join ("\n");

// CSV hina uraykachiy downloadFile ("gamepad-log.csv", umalliq + filakuna, "qillqa/csv"); });

CSV willay t'aqwiypaq k'anchariq kachkan imaraykuchus chiqalla Excel utaq Google Raphikunapi kichan, tablakuna ruwayta, willayta filtrayta utaq rikuypi patrónkuna qhawayta saqin. Kunanqa hawaman apachiy botones ukhupi kaptin, iskay musuq akllanakunata panelpi rikunki: JSON hawaman apachiy chaymanta CSV hawaman apachiy. JSON sumaq kan sichus crudo registro kaqmanta dev yanapakuyniykiman wikch'uyta munanki utaq estructura muyuriqpi poke ruwayta munanki. CSV, wak ladumanta, chiqan Excel utaq Google Raphikunaman kichan chaymanta yaykusqakunata tabla ruwayta, filtrayta utaq tupachiyta atikunki. Kay qatiq siqi rikuchin imaynachus panel chay yapasqa controlkunawan.

3. Sistema de Instantánea nisqa Wakin kutiqa mana hunt’asqa grabacionta necesitankichu, usqhaylla “pantalla hap’iy” yaykusqa estadokunamanta. Chaypin yanapakun huk Take Snapshot nisqa botón.

nisqa

Hinallataq JavaScript nisqapas:

// ===================================================================================== // IMAYNA IMAYNA RUWAY // =====================================================================================

document.getElementById("instantánea").addEventListener("llachpay", () => { // Llapan tinkisqa gamepads nisqakunata hap'iy const pads = puriq.getGamepads (); const activoPads = [];

// Sapa tinkisqa gamepadpa estadonta llalliy hinaspa hap'iy para (const gp de almohadillas) { . sichus (!gp) hinalla; // Ch'usaq ranurakunata saltay

activePads.tanqay ({ id: gp.id, // Kamachiqpa sutin/modelo pacha sello: ruway.kunan(), . botones: gp.botones.mapa(b => ({ ñit'isqa: b. ñit'isqa, . chani: b.valor })), . ejes: [...gp.hachas]. }); } .

// Qhaway sichus ima gamepads tarikurqanchu sichus (!ActivoPads.largo) { . console.warn("Mana pukllanakuna t'inkisqachu instantáneapaq."); alert("Manan ima kamachiqpas tarisqachu!"); kutimuy; } .

// Ruraqman qillqay hinaspa willay console.log ("Instantánea:", activePads); alert(Instantánea hap'isqa! Hap'isqa ${activePads.length} kamachiq(kuna).); });

Instantáneas controladorniykipa exacto estadonta huk ratopi congelanku. 4. Fantasma Yaykuchiy Yapamanta pukllay Kunanqa kusikuypaq kaqpaq: fantasma yaykuy kutichiy. Kayqa huk registrota hapin chaymanta rikuywan pukllan huk phantom pukllaq controladorta llamk'achkanman hina.

nisqa

JavaScript kaqmanta pukllanapaq: // ===================================================================================== // GHOST REPLAY // =====================================================================================

document.getElementById("wakmanta pukllay").addEventListener("k'itiy", () => { // Aseguray huk grabacionta yapamanta pukllanaykupaq sichus (!marcos.largo) { . alert("Mana grabacionchu wakmanta pukllanapaq!"); kutimuy; } .

console.log("Fantasma kaqmanta pukllayta qallarichkan...");

// Pista pachata tinkisqa pukllaypaq let startTime = ruway.kunan (); kachun frameIndex = 0;

// Animacionpa llikanta yapamanta pukllay ruway llamk'ay () { . const kunan = ruway.kunan (); const pasasqa = kunan - qallariyTiempo;

// Kunankama rikurimunan karqan llapa marcokunata ruway while (marcoIndex < marcos.largo && marcos[marcoIndex].t <= pasasqa) { const marco = marcos[marcoIndex];

// UIta musuqyachiy grabasqa botón nisqa suyukunawan btnA.classList.toggle ("ruraq", marco.botones [0]. ñit'isqa); btnB.classList.toggle ("ruraq", marco.botones [1]. ñit'isqa); btnX.classList.toggle ("ruraq", marco.botones [2]. ñit'isqa);

// Estado rikuchiyta musuqyachiy ñit'isqa = []; marco.botones.paraSapa ((btn, i) => { sichus (btn. ñit'isqa) ñit'isqa.push ("Botón " + i); }); sichus ( ñit'isqa.largo > 0) { . status.textContent = "Fantasma: " + ñit'isqa.hunt'ay (", "); } .

marcoIndex++ nisqa; } .

// Aswan marcokuna kaptinqa llallinakuyta hinalla ruway if (marcoIndex < marcos.largo) { . mañakuyAnimationFrame (paso); } else { . console.log("Wakmanta pukllay."tukusqa."); status.textContent = "Wakmanta pukllay tukusqa"; } . } .

// Wakmanta pukllayta qallariy paso (); });

Pantasqa allichayta aswan makiwan ruwanapaq, huk fantasma kutichiyta yaparqani. Huk kuti huk sesión grabasqayki, wakmanta pukllayta ñit’iy atikunki chaymanta UI ruwayta qhawayta atikunki, yaqa huk phantom pukllaq padta purichichkan hina. Huk musuq Replay Ghost botón kaypaq panel kaqpi rikukun.

Grabar ñit'iy, controladorwan huk chhikanta chaqrukuy, sayay, chaymanta wakmanta pukllay. UI tukuy ruwasqaykita ecolla ruwan, huk fantasma hina yaykuyniykikunata qatiq. ¿Imanasqataq kay extrakunawan llakikunanchik?

Grabacion/exportacionqa pruebaqkunapaqmi facilta ruwan imachus pasasqanmanta allinta qawachinankupaq. Instantáneas huk ratu pachapi congelanku, super útil mayk’aqchus impar pantaykunata qatichkanki. Ghost kaqmanta pukllayqa yachachiykunapaq, yaykuy atiy qhawaykunapaq utaq kamachiy churanakuna kuskamanta kuska tupachiyllapaq ancha allin.

Kaypiqa, manaña allin allichasqa demostracionllachu, aswanpas imapas chiqamanta llamk’ayman churayta atiwaq. Chiqap Pachapi Uso Casos Kunanqa kay pantachiqta hap’iyku, chaymi askha ruwayta atin. Kawsaq yaykuchiyta rikuchin, registrokunata qillqan, hawaman apachin, chaymanta imakunatapas yapamanta pukllan. Ichaqa cheqaq tapukuyqa kaymi: ¿pitaq cheqaqtapuni interesan? ¿Pipaqtaq kayqa allin? Pukllay Ruraqkuna Controladores llamkanamanta huknin kanku, ichaqa pantaykunata allichay? Usually huk nanay. Yuyaykuy huk maqanakuy pukllay combo pruebapi, ↓ → + punch hina. Mañakunaykimantaqa iskay kutita kaqllata ñit’irqanki, huk kutitataq grabarqanki, hinaspa wakmanta tocarqanki. Rurasqa. Utaq JSON registrokunata huk equipo masiwan t'inkinakunki qhawanaykipaq sichus achka pukllaq codigoyki makinankupi kaqllata ruwan. Chayqa hatunmi. Accesibilidad nisqamanta Ruwaqkuna Kayqa sunquyman qayllaykuchkan. Mana tukuychu “estándar” nisqa controladorwan pukllanku. Controladores adaptativos nisqakunaqa wakin kutipiqa extraña señalkunatan wikch’unku. Kay yanapakuywanmi allinta qawanki imakuna pasakusqanmanta. Yachachiqkuna, investigadorkuna, pikuna. Paykunaqa registrokunata hap'iyta atinku, tupachiyta atinku, utaq yaykusqakunata kuska-lado kaqmanta pukllayta atinku. Qunqayllamantam mana rikuy atina kaqkunaqa sutilla rikurirun. Prueba de Aseguramiento de Calidad nisqa Pruebaqkunan qelqanku “kaypi botonkunata masarqani hinaspan p’akikurqan” nisqa qelqakunata. Mana ancha yanapakuqchu. Kunanqa? Paykunaqa exacto prensakunata hap’iyta atinku, registrota hawa llaqtakunaman apachiyta atinku, hinaspa kachayta atinku. Mana adivinanzayuq. Yachachiqkuna Sichus yachachiykunata utaq YouTube vids ruwachkanki, fantasma kaqmanta pukllay quri. Literalmente niyta atikunki, “Kaypi ruwasqay controladorwan”, UI ruwakuchkaqta rikuchichkaptin. Sut’inchaykunata aswan sut’ita ruwan. Pukllaykunamanta aswan karun Hinaspa arí, kayqa manan pukllayllamantachu. Runakunaqa robotkunapaq, arte proyectokunapaq, interfaces de accesibilidad nisqapaqpas controladorkunatam llamk'achirqanku. Kikin asunto sapa kuti: imatataq chiqamanta navegador rikuchkan? Kaywanqa manan adivinanaykichu. Tukuchina Huk kamachiqpa yaykuyninta pantachiyqa sapa kuti ñawsa phaway hina sientekurqan. Mana DOM utaq CSS hinachu, mana kanchu ruwasqa qhawaq pukllanakuna kaqpaq; chayqa consolapi crudo yupaykunalla, ch’aqwaypi facil chinkasqa. HTML, CSS, JavaScript nisqa pisi pachak chirukunawanmi huknirayta ruwarqayku:

Mana rikukuq yaykusqakunata rikukuqta ruwaq rikuy pantachiq. Huk qatayuq CSS llamkana UI chuya chaymanta pantasqa allichaypaq waqaychaq. Huk huñu allinchaykuna (grabacion, hawaman apachiy, instantáneas, fantasma kaqmanta pukllay) chaymanta chayta demomanta paqarichiqpa yanapakuyman wicharichin.

Kay llamk’ayqa maykamachus riyta atikunki chayta rikuchin Web Plataformapa atiyninta huk pisi ruwaywan CSS Cascade Layers kaqpi chaqruspa. Chayllaraq sut’inchasqay yanapakuyqa llapanpi kichasqa qullqiyuqmi. GitHub repo nisqatam clonayta atinki hinaspa kikiyki pruebayta atinki. Ichaqa aswan importanteqa, qanpaqmi ruwayta atinki. Kikinpa qatanaykikunata yapay. Kikiykipa kutin pukllay lógica nisqa ruway. Chayta pukllay prototipoykiwan tinkuchiy. Otaq mana yuyaykusqayman hinapas utilizay. Yachachinapaq, haykuy atiypaq, utaq willakuykunata t’aqwiypaq. P’unchaw tukukuypi, kayqa mana pukllanakuna pantasqa allichayllamantachu. Pakasqa yaykuykunapi huk k’anchayta k’anchariymanta, chaymanta ruwaqkunaman atiyta quymanta hardware kaqwan llamk’anankupaq mayqinkunatachus web kunankama mana hunt’asqata hap’inchu. Chaymi, controladorniykiman enchufay, editorniykita kichay, hinaspa experimentayta qallariy. Ichapas admirakunki imakunatachus navegadorniyki chaymanta CSS kaqniyki chiqamanta ruwayta atinku.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free