ዝርዝር ሁኔታ:

የአካል ጨዋታ መቆጣጠሪያን መፍጠር 10 ደረጃዎች (ከስዕሎች ጋር)
የአካል ጨዋታ መቆጣጠሪያን መፍጠር 10 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአካል ጨዋታ መቆጣጠሪያን መፍጠር 10 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአካል ጨዋታ መቆጣጠሪያን መፍጠር 10 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ያለ መድሀኒት የደም ግፊት/ብዛትን የምንቆጣጠርበት 10 መፍትሄዎች |10 ways to control blood pressure with out medications 2024, ሀምሌ
Anonim
የአካል ጨዋታ መቆጣጠሪያን መፍጠር
የአካል ጨዋታ መቆጣጠሪያን መፍጠር
የአካል ጨዋታ መቆጣጠሪያን መፍጠር
የአካል ጨዋታ መቆጣጠሪያን መፍጠር

ኔንቲዶ ዊው ሲጀመር ተጫዋቾች በምርጫቸው ጨዋታ ላይ ነጥቦችን ለማግኘት ሶፋውን ትተው መዝለል ፣ መደነስ እና ማሾፍ እንዲችሉ ተበረታተዋል። ለዊው ግንባታ ቁልቁል የመማሪያ ኩርባ ሲኖር ፣ በተገቢው ጊዜ በግፊት መጫኛዎች ላይ በመዝለል ጨዋታን ለመቆጣጠር የሚያስችል ብጁ መሣሪያን መገንባት ቀላል ነው።

ይህ አስተማሪ ጨዋታውን ‹Space Bounce› (በቀጥታ በ https://marquisdegeek.com/spacebounce/ በ https://github.com/MarquisdeGeek/SpaceBounce) ላይ በቀጥታ የሚጫወት) አካላዊ መቆጣጠሪያን እንዴት እንደላመድኩ ያሳያል።

አቅርቦቶች

  • አርዱinoኖ
  • ሁለት የግፊት ምንጣፎች (የእኔ ከ Maplin ነበር
  • ሁለት ተቃዋሚዎች ፣ ለግፊት ምንጣፍ (100 ኬ ፣ ግን አብዛኛዎቹ ጥሩ ናቸው)
  • ሁለት ኤልኢዲዎች (አማራጭ)
  • ለ LED (ሁለት ኬ ፣ ግን አብዛኛዎቹ ጥሩ ናቸው። እንዲሁም አማራጭ) ሁለት ተቃዋሚዎች
  • ላፕቶፕ

ደረጃ 1 - ዙሪያውን ይዝለሉ

ዙሪያውን ይዝለሉ!
ዙሪያውን ይዝለሉ!

የመዝለል በይነገጽን በመንደፍ ጀመርኩ እና በጨዋታው ግምገማ ላይ ሁለት ምንጣፎች መኖራቸው ዋና ሀሳቡን በተሻለ እንደሚገልፅ ተገነዘብኩ። ያም ማለት በግራ ግድግዳው ላይ የመያዝ ስሜትን ለማስመሰል በግራ ምንጣፉ ላይ ይቆማሉ እና በተገቢው ቅጽበት ወደ ቀኝ ምንጣፉ ይዝለሉ ፣ እና የማያ ገጽ ላይ ገጸ-ባህሪዎ እንዲሁ ያደርጋል።

ደረጃ 2 ንጣፎችን ማገናኘት

ንጣፎችን በማገናኘት ላይ
ንጣፎችን በማገናኘት ላይ
ንጣፎችን በማገናኘት ላይ
ንጣፎችን በማገናኘት ላይ

ስለዚህ ሁለት ምንጣፎችን ገዝቼ ወደ ሥራ ገባሁ። እዚህ የሚታየው የግፊት ምንጣፎች ቀላሉ (እና በጣም ርካሹ!) ያገኘሁት እያንዳንዳቸው በ 10 ፓውንድ ነው። እነሱ አራት ሽቦዎች አሏቸው ፣ ሁለቱ እንደ ቀላል መቀየሪያ ሆነው ይሠራሉ - ምንጣፉ ላይ ሲቆሙ ግንኙነት ተፈጥሯል ፣ እና ሲዘሉ ይሰበራል። ይህንን መሠረታዊ ወረዳ ባለው ይህንን ወደ አርዱዲኖ ውስጥ አገባሁት።

ደረጃ 3 - የብርሃን ድንቅ ድንቅ ጉዞ

ብርሃኑን ድንቅ ማድረግ
ብርሃኑን ድንቅ ማድረግ

ሠርቷል ፣ ግን በጣም አነቃቂ አልነበረም። ስለዚህ ፣ የእያንዳንዱን ግፊት ምንጣፍ ሁኔታ ለማመልከት አንዳንድ ኤልኢዲዎችን አክዬ ነበር።

ኤልዲዎቹ ጨዋታውን እንዲጫወቱ አይገደዱም ፣ ግን ወደ ወረዳው በማከል ወረዳው የአሁኑ ሁኔታ ምን እንደ ሆነ በቀላሉ ማየት ችያለሁ። ስለዚህ ፣ ጨዋታው በትክክል ምላሽ ካልሰጠ ፣ ችግሩ ከወረዳው ፣ ከአርዱዲኖ ሶፍትዌር ወይም ከጨዋታው አመክንዮ ጋር ከሆነ ልሠራ እችላለሁ።

ደረጃ 4 - ወደ ኮድ መጀመር

የመጀመሪያው ጨዋታ በጃቫስክሪፕት ውስጥ ስለነበረ ፣ በግፊት ምንጣፍ ሁኔታ ውስጥ ለውጦችን የሚያዳምጥ እና በድረ -ገጾች በኩል ውሂቡን ለጨዋታው ደንበኛ የሚልክ የ NodeJS ፕሮግራም ለመጻፍ ወሰንኩ።

በመጀመሪያ ፣ በፒሲው ላይ የመስቀለኛ መንገድ አገልጋይ ማሄድ እና የጆኒ አምስት ቤተመፃሕፍትን በመጠቀም ከአርዱዲኖ የመንግሥት ለውጦችን ለማዳመጥ መደበኛውን ጽኑ አቋም በአርዱኖዎ ላይ ይጫኑ። ከዚያ የጨዋታውን ይዘት ለማገልገል Express ን ያክሉ።

ጠቅላላው የአገልጋይ ኮድ እንደዚህ ይመስላል

const express = ይጠይቁ ('express');

const app = express (); const http = ይጠይቁ ('http'); const አገልጋይ = http.createServer (መተግበሪያ); const io = ይጠይቁ ('socket.io')። ያዳምጡ (አገልጋይ); const arduino = ይጠይቃል ('አርዱinoኖ-ተቆጣጣሪ'); server.listen (3000 ፣ ተግባር () {console.log ('Express አገልጋይ ማዳመጥ…'))}}) app.use ('/', express.static ('app')); const አምስት = ያስፈልጋል ("ጆኒ-አምስት"); const board = new five. Board ({repl: false}); ሰሌዳ።.ፒን (3); err, val) => {ከሆነ (val) {green.on () ፤} ሌላ {green.off ();} ከሆነ (val! == lastLeft) {lastLeft = val; state = {side: 'left', ግዛት: ቫል? 'ወደታች': 'ላይ'} socket.emit ('arduino:: state', JSON.stringify (state) ፣ {for: 'everyone'});}}) five. Pin.read (right, (ስህተት ፣ ቫል) => {ከሆነ (val) {red.on () ፤} ሌላ {red.off ();} // if (val! == lastRight) {lastRight = val; state = {side: 'ትክክል' ፣ ሁኔታ ቫል? 'ታች': 'ወደላይ'} socket.emit ('arduino:: state', JSON.stringify (state) ፣ {for: 'everyone'});}})}); });

እና በሚከተለው ይሮጣል

node server.js

ደረጃ 5: ጨዋታውን ማመቻቸት

የመጀመሪያው ችግር በይነገጽ ነበር; ማድረግ የሚችሉት ሁሉ መዝለል በሚችልበት ጊዜ በጨዋታ ቁልፍ ላይ እንዴት ‹ጠቅ› ያድርጉ? ሌሎቹን አዝራሮች በሙሉ በማስወገድ ይህንን ፈታሁት! ለሁለቱም 'ወደላይ' ክስተት በማዳመጥ ተጫዋቹ በሚዘልበት ጊዜ ቀሪውን ቁልፍ ማስነሳት እችላለሁ።

ሶኬት = io (); socket.on ('arduino:: state', function (msg) {let data = JSON.parse (msg); ከሆነ (data.state === 'up') {// እየዘለልን ነው!}});

ከዚህ ወደ ጨዋታው ውስጥ መግባት ችዬ ነበር ፣ እና የበለጠ አስደሳች ለሆነ ነገር - ጨዋታው ራሱ።

ደረጃ 6 - የተጫዋች መዝለሉን ኮድ መለወጥ

በዚህ ጊዜ እያንዳንዱን ሰሌዳ በተናጠል ማስተናገድ እና የተጫዋቹ እግር ከፓድ በወጣ ቁጥር ገጸ -ባህሪው መዝለል እንዲጀምር ማድረግ ነበረብኝ። በማያ ገጹ ላይ ያለው ገጸ-ባህሪ የማዕድን ዘንግን የሚያልፍበት ጊዜ ተጫዋቹ ከአንዱ ጎን ወደ ጎን ከሚዘልበት ጊዜ የበለጠ ነው። ተጫዋቹ ሚዛኑን እንዲመልስ ፣ እግሮቻቸውን እንዲፈትሽ እና ተጫዋቹ በማያ ገጹ ላይ መዝለሉን ሲያጠናቅቅ ይህ ጥሩ ነገር ነው። ይህ ባይሆን ኖሮ ተጫዋቹን ባዘገየው ነበር።

ሶኬት = io ();

socket.on ('arduino:: state', function (msg) {

ውሂብ = JSON.parse (msg) ይፍቀዱ; ከሆነ (data.side === 'ግራ' && data.state === 'ወደላይ') {// ከግራ ጎን እየዘለልን ነው}});

ደረጃ 7 ውጤቱን መለወጥ

የግብዓት አሠራሩ እየሠራ ፣ በውጤቱ ላይ መሥራት ነበረብኝ። ጨዋታው በጡባዊ ወይም በስልክ ላይ በደንብ ይጫወታል ፣ ምክንያቱም ማያ ገጹን ይሞላል። ግን ፣ በሚዘሉበት ጊዜ ፣ ለማየት በጣም ትንሽ ነው ፣ ስለዚህ በማያ ገጹ ላይ ያለው የመጫወቻ ቦታ ማስፋት አለበት። ብዙ!

እንደ አለመታደል ሆኖ ሁሉንም የግራፊክ እሴቶችን ማስፋፋት በጣም ጊዜ የሚወስድ ተግባር ነው። ስለዚህ ፣ አጭበርበርኩ! ጨዋታው የመዳፊት ጠቅታ ፣ ወይም የመንካት ሁነታን X ፣ Y አቀማመጥን ስለማያስፈልግ ፣ መላውን ሸራ እንደገና መለካት እችላለሁ!

ይህ በኤችቲኤምኤል እና በጃቫስክሪፕት ላይ ጠለፋ ያካተተ በመሆኑ የኤችቲኤምኤል 5 ሸራ ነገር ሙሉ ማያ ገጽ እንዲሠራ።

ከዚህም በላይ ጨዋታው በቁም ምስል ሁኔታ የሚጫወት ሲሆን ይህም ሸራውን በ 90 ዲግሪ ለማሽከርከር የሚያስፈልገንን የማያ ገጽ ሪል እስቴት ከፍተኛውን መጠቀምን ያመለክታል።

#ኤስ ኤስ ኤክስ ካንቫስ {

አቀማመጥ: ፍጹም; z-index: 0; ቀይር: አሽከርክር (-90 ዲግሪ); የለውጥ-አመጣጥ-ከላይ ቀኝ; ስፋት: ራስ -ሰር; }

ደረጃ 8: ይሠራል

ይሰራል!
ይሰራል!

ለመጀመሪያ ጨዋታዬ ላፕቶ laptopን ከጎኑ አዘንብዬ ፣ እና እንደዚህ ተጫውቻለሁ።

ደረጃ 9 - ክፍሉን ማዘጋጀት

ክፍሉን ማዘጋጀት
ክፍሉን ማዘጋጀት

አካላዊ ተቆጣጣሪ መገንባት የጉዞው መጀመሪያ ብቻ ነው ፣ መጨረሻው አይደለም። የተቀረው አካላዊ ቦታ ግምት ውስጥ መግባት አለበት።

በመጀመሪያ ፣ በእነሱ ላይ ሲያርፉ የግፊት ምንጣፎች ወለሉ ላይ ተንቀሳቅሰዋል። ይህ በአንዳንድ ባለ ሁለት ጎን ተለጣፊ ፓዳዎች በቀላሉ ተስተካክሏል። እነሱ በደንብ ይሰራሉ ፣ ግን ምናልባት ብዙ የመልበስ እና የመበስበስን አይይዙም።

በመቀጠልም ላፕቶ laptop ትንሽ ሞኝ ይመስላል ፣ ይህም ከጨዋታው ራሱ ያዘናጋዎታል። ስለዚህ ቴሌቪዥኑ ከአዳራሹ “ተበድሮ” እና በአካባቢው ወዳለው MakerSpace ተወስዶ በግድግዳው ላይ ተስተካክሎ ተገናኝቷል።

ወደፊት ተጫዋቹን ለመምራት በግፊት ምንጣፎች (ምናልባትም የኒል አርምስትሮንግ የመጀመሪያ ጨረቃ ህትመት ላይ) ዱካዎችን ማከል ጥሩ ይሆናል። እንዲሁም ለቴሌቪዥኑ የተሻለ መያዣ እና አከባቢ ስሜትን ይጨምራል። ምናልባት ብዙ ጊዜ እና ቦታ ያላችሁ ከእኔ የማዕድን ጉድጓድ ውስጥ የመውደቅ ክላስትሮፊቢክ ስሜትን ለመምሰል ፣ ምንጣፎቹን በሁለቱም ጎኖች የተቀመጠ የወረቀት ሜክ ሮክ ፊት ሊያደርጉ ይችላሉ!

ደረጃ 10: ተጠናቋል

እና እዚያ አለዎት። የመጀመሪያውን ጨዋታ የሚያሻሽል እና በሚጫወቱበት ጊዜ እርስዎን የሚስማማ ቀላል የቀን ፕሮጀክት!

አንዳንዶቹን ይህንን ሥራ ለመቀነስ በዋናው ጨዋታ ውስጥ ጥቅም ላይ የዋሉትን ቁልፍ ማተሚያዎችን በቀጥታ የሚያስመስለውን Makey Makey ን መጠቀም ይችላሉ። ግን ያ ለአንባቢ እንደ ልምምድ ሆኖ ይቀራል:)

ሁሉም ኮዱ በ Space Bounce repo ውስጥ በልዩ ቅርንጫፍ ውስጥ ነው

የሚመከር: