ዝርዝር ሁኔታ:

የጭረት 3.0 ቅጥያዎች 8 ደረጃዎች
የጭረት 3.0 ቅጥያዎች 8 ደረጃዎች

ቪዲዮ: የጭረት 3.0 ቅጥያዎች 8 ደረጃዎች

ቪዲዮ: የጭረት 3.0 ቅጥያዎች 8 ደረጃዎች
ቪዲዮ: SKR 1.3 - Basics 2024, ህዳር
Anonim
ጭረት 3.0 ቅጥያዎች
ጭረት 3.0 ቅጥያዎች

የጭረት ቅጥያዎች አዲስ ብሎኮችን ወደ ጭረት የሚጨምሩ የጃቫስክሪፕት ኮድ ቁርጥራጮች ናቸው። Scratch ከብዙ ኦፊሴላዊ ቅጥያዎች ጋር ተጠቃልሎ ሳለ በተጠቃሚ የተሰሩ ቅጥያዎችን ለመጨመር ኦፊሴላዊ ዘዴ የለም።

የእኔን Minecraft የመቆጣጠሪያ ቅጥያ ለ Scratch 3.0 በምሠራበት ጊዜ ፣ ለመጀመር አስቸጋሪ ሆኖብኛል። ይህ አስተማሪ ከተለያዩ ምንጮች (በተለይም ይህ) መረጃን ይሰበስባል ፣ እና እኔ ራሴ ያገኘኋቸውን ጥቂት ነገሮች።

በጃቫስክሪፕት ውስጥ እንዴት ፕሮግራም ማድረግ እና ጃቫስክሪፕትን በድር ጣቢያ ላይ ማስተናገድ እንደሚቻል ማወቅ ያስፈልግዎታል። ለኋለኛው ፣ የ GitHub ገጾችን እመክራለሁ።

ዋናው ብልሃት ቅጥያዎችን እና ተሰኪዎችን እንዲጭኑ የሚያስችልዎትን የ SheepTester ን Scratch ሞድ መጠቀም ነው።

ይህ አስተማሪ ሁለት ቅጥያዎችን በማድረግ ይመራዎታል-

  • አምጣ - መረጃን ከዩአርኤል መጫን እና የ JSON መለያዎችን ማውጣት ፣ ለምሳሌ የአየር ሁኔታን ውሂብ ለመጫን
  • SimpleGamepad: በ Scratch ውስጥ የጨዋታ መቆጣጠሪያን መጠቀም (የበለጠ የተራቀቀ ስሪት እዚህ አለ)።

ደረጃ 1 - ሁለት ዓይነት ቅጥያዎች

እኔ “ያልታሸገ” እና “አሸዋ የታሸገ” ብዬ የምጠራቸው ሁለት ዓይነት ቅጥያዎች አሉ። በአሸዋ የታሸጉ ቅጥያዎች እንደ የድር ሠራተኞች ሆነው ይሠራሉ ፣ እናም በዚህ ምክንያት ከፍተኛ ገደቦች አሏቸው

  • የድር ሰራተኞች በመስኮቱ ነገር ውስጥ ግሎባሎችን መድረስ አይችሉም (ይልቁንም እነሱ በጣም ውስን የሆነ ዓለም አቀፍ የራስ ነገር አላቸው) ፣ ስለዚህ እንደ የጨዋታ ሰሌዳ መዳረሻ ላሉት ነገሮች ሊጠቀሙባቸው አይችሉም።
  • በአሸዋ የታሸጉ ቅጥያዎች የ Scratch Runtime ነገር መዳረሻ የላቸውም።
  • በአሸዋ የታሸጉ ቅጥያዎች በጣም ቀርፋፋ ናቸው።
  • ለማሸጊያ የታሸጉ ቅጥያዎች የጃቫስክሪፕት ኮንሶል የስህተት መልዕክቶች በ Chrome ውስጥ የበለጠ ምስጢራዊ ናቸው።

በሌላ በኩል:

  • ሌሎች ሰዎችን በአሸዋ የተሸከሙ ቅጥያዎችን መጠቀም ደህንነቱ የተጠበቀ ነው።
  • በአሸዋ የታሸጉ ቅጥያዎች ከማንኛውም ኦፊሴላዊ የቅጥያ ጭነት ድጋፍ ጋር የመሥራት ዕድላቸው ሰፊ ነው።
  • በአሸዋ የተሸከሙ ቅጥያዎች ወደ አንድ የውሂብ: // ዩአርኤል በመመዝገብ ወደ የድር አገልጋይ ሳይሰቀሉ ሊሞከሩ ይችላሉ።

ኦፊሴላዊ ቅጥያዎች (እንደ ሙዚቃው ፣ ብዕር ፣ ወዘተ) ሁሉም በቦታ ሣጥን ውስጥ ያልገቡ ናቸው። ለቅጥያ ገንቢው የአሂድ ጊዜውን ነገር ከጭረት ያገኛል ፣ እና መስኮቱ ሙሉ በሙሉ ተደራሽ ነው።

የ Fetch ቅጥያው በአሸዋ የታሸገ ነው ፣ ግን የ Gamepad አንድ የአሳሽውን ነገር ከመስኮቱ ይፈልጋል።

ደረጃ 2 - በአሸዋ የታሸገ ቅጥያ መፃፍ - ክፍል 1

አንድ ቅጥያ ለማድረግ ፣ ስለእሱ መረጃን የሚቀይር ክፍል ይፈጥራሉ ፣ እና ከዚያ ቅጥያውን ለማስመዝገብ ትንሽ ኮድ ያክሉ።

በቅጥያው ክፍል ውስጥ ዋናው ነገር አንድን ነገር ከሚፈልጉት መስኮች ጋር የሚመልስበት getInfo () ዘዴ ነው።

  • መታወቂያ - የቅጥያው ውስጣዊ ስም ፣ ለእያንዳንዱ ቅጥያ ልዩ መሆን አለበት
  • ስም: በቅጥሎች ዝርዝር ውስጥ በመታየቱ የቅጥያው ወዳጃዊ ስም
  • ብሎኮች አዲሱን ብጁ ብሎክን የሚገልጹ የነገሮች ዝርዝር።

እና በ Fetch ውስጥ የማይጠቅም ነገር ግን በ Gamepad ውስጥ ጥቅም ላይ የሚውል አማራጭ ምናሌዎች መስክ አለ።

ስለዚህ ፣ ለ Fetch መሠረታዊ አብነት እዚህ አለ -

ክፍል ScratchFetch {

ግንበኛ () {} getInfo () {return {"id": "አምጣ" ፣ "ስም": "አምጣ" ፣ "ብሎኮች": [/* በኋላ ላይ ጨምር * /]}} / * ለብሎኮች * /} ዘዴዎችን ያክሉ Scratch. Extensions.register (አዲስ ScratchFetch ())

ደረጃ 3 - የአሸዋ ሳጥን ማራዘሚያ መፃፍ -ክፍል II

አሁን ፣ በ getInfo () ነገር ውስጥ ያሉትን ብሎኮች ዝርዝር መፍጠር አለብን። እያንዳንዱ ብሎክ ቢያንስ እነዚህን አራት መስኮች ይፈልጋል

  • opcode: ይህ የማገጃውን ሥራ ለመሥራት የተጠራው ዘዴ ስም ነው
  • blockType: ይህ የማገጃ ዓይነት ነው ፣ ለቅጥያዎች በጣም የተለመዱት የሚከተሉት ናቸው

    • “ትእዛዝ” - አንድ ነገር ያደርጋል ነገር ግን ዋጋ አይመልስም
    • “ዘጋቢ” - ሕብረቁምፊ ወይም ቁጥር ይመልሳል
    • “ቡሊያን” - ቡሊያን ይመልሳል (ካፒታላይዜሽንን ልብ ይበሉ)
    • “ባርኔጣ” - ክስተት የሚይዝ ብሎክ; የእርስዎ የጭረት ኮድ ይህንን ብሎክ የሚጠቀም ከሆነ ፣ የጭረት ማስኬጃው ጊዜ ክስተቱ ተከስቷል ለማለት ቡሊያን የሚመልሰውን ተጓዳኝ ዘዴ በመደበኛነት ይመርጣል።
  • ጽሑፍ -ይህ የማገጃው ወዳጃዊ መግለጫ ነው ፣ በክርከሮች ውስጥ ክርክሮች ያሉት ፣ ለምሳሌ ፣ “መረጃን ከ አምጣ”)
  • ክርክሮች - ይህ ለእያንዳንዱ ክርክር መስክ ያለው ነገር ነው (ለምሳሌ ፣ ከላይ ባለው ምሳሌ “url”); ይህ ነገር በተራው እነዚህ መስኮች አሉት

    • ዓይነት: “ሕብረቁምፊ” ወይም “ቁጥር”
    • defaultValue: ነባሪ እሴቱ አስቀድሞ ተሞልቷል።

ለምሳሌ ፣ በእኔ የ Fetch ቅጥያ ውስጥ ብሎኮች መስክ እዚህ አለ

"ብሎኮች": [{"opcode": "fetchURL", "blockType": "ዘጋቢ", "ጽሑፍ": "መረጃን ከ ", "ክርክሮች": {"url": {"type": "string", "defaultValue") ":" https://api.weather.gov/stations/KNYC/observations "},}}, {" opcode ":" jsonExtract "," blockType ":" reporter "," text ":" extract [name] ከ [ውሂብ] "፣" ክርክሮች "፦ {" name ": {" type ":" string "," defaultValue ":" temperature "}," data ": {" type ":" string "," defaultValue ") '{' 'ሙቀት' ': 12.3}'},}},]

እዚህ ፣ እኛ ሁለት ብሎኮችን ገለጥን - fetchURL እና jsonExtract። ሁለቱም ዘጋቢዎች ናቸው። የመጀመሪያው መረጃን ከዩአርኤል ይጎትታል እና ይመልሰዋል ፣ ሁለተኛው ደግሞ ከ JSON ውሂብ መስክ ያወጣል።

በመጨረሻም ፣ ለሁለት ብሎኮች ዘዴዎችን ማካተት ያስፈልግዎታል። እያንዳንዱ ዘዴ አንድን ነገር እንደ ክርክር ይወስዳል ፣ ነገሩ ለሁሉም ክርክሮች መስኮችን ያጠቃልላል። በክርክሮቹ ውስጥ የታጠፈ ማሰሪያዎችን በመጠቀም እነዚህን መፍታት ይችላሉ። ለምሳሌ ፣ አንድ የተመሳሰለ ምሳሌ እዚህ አለ -

jsonExtract ({ስም ፣ ውሂብ}) {

var parsed = JSON.parse (ውሂብ) ከሆነ (ስም በተተነተነ) {var out = parsed [name] var t = typeof (out) ከሆነ (t == "string" || t == "number") ከተመለሰ (t == "ቡሊያን") ተመለስ? 1: 0 ተመላሽ JSON. stringify (ውጭ)} ሌላ {ተመለስ””}}

ኮዱ የስም መስኩን ከ JSON ውሂብ ይጎትታል። መስኩ ሕብረቁምፊ ፣ ቁጥር ወይም ቡሊያን የያዘ ከሆነ ያንን እንመልሰዋለን። አለበለዚያ እኛ ሜዳውን እንደገና JSONify እናደርጋለን። እና ስሙ ከ JSON ከጠፋ ባዶ ሕብረቁምፊ እንመልሳለን።

አንዳንድ ጊዜ ግን ያልተመሳሰለ ኤፒአይ የሚጠቀም ብሎክ መሥራት ይፈልጉ ይሆናል። የ fetchURL () ዘዴ ያልተመሳሰለ የ fetchURL ኤፒአይን ይጠቀማል። በእንደዚህ ዓይነት ሁኔታ ውስጥ ሥራውን የሚያከናውንበትን ዘዴ ከእርስዎ ዘዴ መመለስ አለብዎት። ለአብነት:

fetchURL ({url}) {

ተመለስ (ዩአርኤል) ።ከዚያ (ምላሽ => response.text ())}

ይሀው ነው. ሙሉ ቅጥያው እዚህ አለ።

ደረጃ 4 - በአሸዋ የታሸገ ቅጥያ መጠቀም

በአሸዋ የታሸገ ቅጥያ መጠቀም
በአሸዋ የታሸገ ቅጥያ መጠቀም
በአሸዋ የታሸገ ቅጥያ መጠቀም
በአሸዋ የታሸገ ቅጥያ መጠቀም
በአሸዋ የታሸገ ቅጥያ መጠቀም
በአሸዋ የታሸገ ቅጥያ መጠቀም

በአሸዋ የታሸገ ቅጥያ ለመጠቀም ሁለት መንገዶች አሉ። በመጀመሪያ ፣ ወደ የድር አገልጋይ መስቀል ይችላሉ ፣ እና ከዚያ በ SheepTester's Scratch mod ውስጥ ይጫኑት። ሁለተኛ ፣ ወደ የውሂብ ዩአርኤል ውስጥ ሊቀይሩት እና ያንን ወደ ጭረት ሞድ ሊጭኑት ይችላሉ። ስለ አሮጌው የቅጥያ ስሪቶች በአገልጋዩ የተሸጎጡ ጭንቀቶችን ስለሚያስወግድ በእውነቱ ሁለተኛውን ዘዴ ለሙከራ በጣም እጠቀማለሁ። ከ Github ገጾች ጃቫስክሪፕትን ማስተናገድ በሚችሉበት ጊዜ ፣ ከተራ የጊቱብ ማከማቻ በቀጥታ ይህንን ማድረግ እንደማይችሉ ልብ ይበሉ።

የእኔ fetch.js በ https://arpruss.github.io/fetch.js ላይ ይስተናገዳል። ወይም እዚህ በመስቀል ቅጥያዎን ወደ የውሂብ ዩአርኤል መለወጥ እና ከዚያ ወደ ቅንጥብ ሰሌዳ መቅዳት ይችላሉ። የውሂብ ዩአርኤል በውስጡ አንድ ሙሉ ፋይል የሚይዝ ግዙፍ ዩአርኤል ነው።

ወደ SheepTester's Scratch mod ይሂዱ። በታችኛው ግራ ጥግ ላይ የቅጥያ አክል ቁልፍን ጠቅ ያድርጉ። ከዚያ “ቅጥያ ይምረጡ” ላይ ጠቅ ያድርጉ ፣ እና ዩአርኤልዎን ያስገቡ (ከፈለጉ በጠቅላላው ግዙፍ የውሂብ ዩአርኤል ውስጥ መለጠፍ ይችላሉ)።

ሁሉም ነገር ደህና ከሆነ ፣ በቅጽበታዊ ገጽ እይታዎ በግራ በኩል ለቅጥያዎ መግቢያ ይኖርዎታል። ነገሮች በደንብ ካልሄዱ የጃቫስክሪፕት ኮንሶልዎን (በ Chrome ውስጥ shift-ctrl-J) ይክፈቱ እና ጉዳዩን ለማረም ይሞክሩ።

ከላይ ከአሜሪካ ብሔራዊ የአየር ሁኔታ አገልግሎት (KNYC (ኒው ዮርክ ውስጥ)) የ JSON መረጃን የሚያመላክት እና የሚለየው አንዳንድ የምስል ኮድ ያገኛሉ ፣ እና እሱ ያሳያል ፣ ነፋሱ በሚነፍስበት ተመሳሳይ መንገድ ፊትለፊቱን በማዞር ላይ። እኔ ያደረግኩበት መንገድ ውሂቡን ወደ የድር አሳሽ በማምጣት ፣ እና ከዚያ መለያዎቹን በመለየት ነበር። የተለየ የአየር ሁኔታ ጣቢያን መሞከር ከፈለጉ በአቅራቢያ ያለ ዚፕ ኮድ በፍለጋ ሳጥኑ ውስጥ በ weather.gov ውስጥ ያስገቡ ፣ እና ለአካባቢዎ የአየር ሁኔታ ገጽ በ KNYC ምትክ ሊጠቀሙበት የሚችሉት አራት የደብዳቤ ጣቢያ ኮድ ሊሰጥዎት ይገባል። ኮድ።

እንዲሁም የ «? Url =» መከራከሪያን በማከል በአሸዋ የተሸከመውን ቅጥያዎን በዩአርኤሉ ውስጥ ለ SheepTester ሞድ ማካተት ይችላሉ። ለአብነት:

sheeptester.github.io/scratch-gui/?url=https://arpruss.github.io/fetch.js

ደረጃ 5 - ያልታሸገ ቅጥያ መጻፍ - መግቢያ

ያልታሸገ ቅጥያ ገንቢ የአሂድ ጊዜ ዕቃን ይተላለፋል። ችላ ሊሉት ወይም ሊጠቀሙበት ይችላሉ። የአሂድ ጊዜ ዕቃው አንድ አጠቃቀም ክስተቶችን (“ባርኔጣዎች”) ለማመሳሰል የአሁኑን የኤስኤምኤስ ንብረቱን መጠቀም ነው። እኔ እስከሚገባኝ ድረስ ፣ ሁሉም የክስተት አግድ ኦፕኮዶች በመደበኛነት ድምጽ ይሰጣቸዋል ፣ እና እያንዳንዱ የምርጫ ዙር አንድ የአሁኑ የኤስኤምኤስ እሴት አለው። የአሂድ ጊዜ ነገር ከፈለጉ ፣ ምናልባት ቅጥያዎን በ:

ክፍል EXTENSIONCLASS {

ግንበኛ (የአሂድ ጊዜ) {this.runtime = የአሂድ ጊዜ…}…}

ሁሉም መደበኛ የመስኮት ነገር ነገሮች በማያስገባ ሳጥን ውስጥ ባለው ቅጥያ ውስጥ ጥቅም ላይ ሊውሉ ይችላሉ። በመጨረሻም ፣ ሳጥንዎ ያልተቀመጠ ቅጥያዎ በዚህ ትንሽ የአስማት ኮድ ማለቅ አለበት።

(ተግባር () {

var extensionInstance = አዲስ EXTENSIONCLASS (window.vm.extensionManager.runtime) var serviceName = window.vm.extensionManager._registerInternalExtension (extensionInstance) window.vm.extensionManager._loadedExtensions.set (extensionInstance.getInfo ()) መታወቂያ ፣ አገልግሎት ስም)

EXTENSIONCLASS ን በቅጥያዎ ክፍል መተካት ያለብዎት።

ደረጃ 6 - ያልወረደ ሳጥን ያለው ቅጥያ መጻፍ - ቀላል የጨዋታ ሰሌዳ

አንድ ቁልፍ ሲጫን ወይም ሲለቀቅ አንድ ነጠላ ክስተት (“ባርኔጣ”) ብሎክን የሚያቀርብ ቀለል ያለ የጨዋታ ሰሌዳ ማራዘሚያ እናድርግ።

በእያንዳንዱ የክስተት አግድ የምርጫ ዑደት ወቅት ፣ ከማሽከርከሪያ ጊዜ ዕቃው ፣ እና የቀደመው እና የአሁኑ የጨዋታ ሰሌዳ ግዛቶች የጊዜ ማህተም እናስቀምጣለን። የጊዜ ማህተሙ አዲስ የምርጫ ዑደት ካለን ለመለየት ጥቅም ላይ ይውላል። ስለዚህ ፣ እኛ እንጀምራለን-

ክፍል ScratchSimpleGamepad {

ግንበኛ (የአሂድ ጊዜ) {this.runtime = rununtime this.currentMSecs = -1 this.previousButtons = this.currentButtons = }…} እኛ ሁለት ግብዓቶች ያሉት አንድ የክስተት እገዳ ይኖረናል-የአዝራር ቁጥር እና ዝግጅቱ በፕሬስ ላይ እንዲነሳ ወይም እንዲለቀቅ እንፈልጋለን የሚለውን ለመምረጥ ምናሌ። ስለዚህ የእኛ ዘዴ እዚህ አለ

getInfo () {

መመለስ {"id": "SimpleGamepad" ፣ "name": "SimpleGamepad" ፣ "blocks": [{"opcode": "buttonPressedReleased", "blockType": "hat", "text": "button [eventType] "," ክርክሮች ": {" b ": {" type ":" number "," defaultValue ":" 0 "}," eventType ": {" type ":" number "," defaultValue ":" 1 "," menu ":" pressReleaseMenu "},},},]," menus ": {" pressReleaseMenu ": [{text:" press ", value: 1}, {text:" release ", value: 0}],}}; } በተቆልቋይ ምናሌው ውስጥ ያሉት እሴቶች እንደ ቁጥሮች ቢታወቁም አሁንም እንደ የኦፕኮድ ተግባሩ እንደ ሕብረቁምፊዎች ይተላለፋሉ ብዬ አስባለሁ። ስለዚህ እንደአስፈላጊነቱ በምናሌው ውስጥ ከተጠቀሱት እሴቶች ጋር በግልጽ ያወዳድሩዋቸው። አዲስ የክስተት የምርጫ ዑደት በተከሰተ ቁጥር አዝራሩን የሚዘምንበትን ዘዴ አሁን እንጽፋለን

አዘምን () {

(ይህ.runtime.currentMSecs == this.currentMSecs) ከተመለሱ // አዲስ የምርጫ ዑደት አይደለም። ይህ = 0 || gamepads [0] == null) {this.previousButtons = this.currentButtons = return} var gamepad = gamepads [0] if (gamepad.buttons.length! = This.previousButtons.length) { // የተለያዩ የአዝራሮች ብዛት ፣ ስለዚህ አዲስ የጨዋታ ሰሌዳ ይህን። currentButtons} this.currentButtons = ለ (var i = 0; i <gamepad.buttons.length; i ++) this.currentButtons.push (gamepad.buttons .pressed)} በመጨረሻም ፣ የዝመናውን () ዘዴ በመደወል እና አስፈላጊው ቁልፍ ተጭኖ ወይም እንደተለቀቀ በመመርመር የአሁኑን እና የቀደመውን የአዝራር ግዛቶችን በማወዳደር የክስተታችንን እገዳ መተግበር እንችላለን።

buttonPressedReleased ({ለ ፣ eventType}) {

this.update () ከሆነ (ለ <this.currentButtons.length) {if (eventType == 1) {// note: ይህ ሕብረቁምፊ ይሆናል ፣ ስለሆነም እንደ ቡሊያን ከመያዝ ይልቅ ከ 1 ጋር ማወዳደር የተሻለ ነው (this.currentButtons &&! this.previousButtons [ለ]) {መመለስ እውነት}} ሌላ {ከሆነ (! (ይህ እና በመጨረሻም ክፍሉን ከገለጹ በኋላ የእኛን የአስማት ማራዘሚያ ምዝገባ ኮድ እንጨምራለን

(ተግባር () {

var extensionInstance = new ScratchSimpleGamepad (window.vm.extensionManager.runtime) var serviceName = window.vm.extensionManager._registerInternalExtension (extensionInstance) window.vm.extensionManager._loadedExtensions.set (extensionInstance.getInfo ()) መታወቂያ ፣ አገልግሎት)

ሙሉውን ኮድ እዚህ ማግኘት ይችላሉ።

ደረጃ 7 - ያልገባ ሣጥን የተቀመጠ ቅጥያ መጠቀም

ባልተመረጠ ሳጥን ውስጥ ቅጥያ መጠቀም
ባልተመረጠ ሳጥን ውስጥ ቅጥያ መጠቀም

እንደገና ፣ ቅጥያዎን በሆነ ቦታ ያስተናግዱ ፣ እና በዚህ ጊዜ ከ ‹url = ክርክር› ይልቅ ወደ SheepTester's Scratch mod ይጫኑት። ለምሳሌ ፣ ለኔ ቀላል የጨዋታፓድ ሞድ ፣ ወደሚከተለው ይሂዱ ፦

sheeptester.github.io/scratch-gui/?load_plugin=https://arpruss.github.io/simplegamepad.js

(በነገራችን ላይ ፣ የበለጠ የተራቀቀ የጨዋታ ሰሌዳ ከፈለጉ ፣ ከላይ ካለው ዩአርኤል “ቀላል” ን ያስወግዱ ፣ እና እርስዎ የሚናድ እና የአናሎግ ዘንግ ድጋፍ ይኖርዎታል።)

እንደገና ፣ ቅጥያው በእርስዎ የጭረት አርታኢ በግራ በኩል መታየት አለበት። ከላይ አዝራር 0 ን ሲጫኑ እና ሲለቀቁ “ደህና ሁኑ” የሚል በጣም ቀላል የጭረት ፕሮግራም ነው።

ደረጃ 8-ባለሁለት ተኳሃኝነት እና ፍጥነት

ላልተጠለፉ ቅጥያዎች የተጠቀምኩበትን የመጫኛ ዘዴ በመጠቀም የኤክስቴንሽን ብሎኮች የመጠን ቅደም ተከተል በፍጥነት እንደሚሠሩ አስተውያለሁ። ስለዚህ በድር ሰራተኛ ማጠሪያ ውስጥ ስለመሮጥ ደህንነት ጥቅሞች እስካልጨነቁ ድረስ ኮድዎ በ ‹load_plugin = URL ክርክር› ወደ በጎች ቴስተር ሞድ በመጫን ተጠቃሚ ይሆናል።

የቅጥያ ክፍሉን ከገለፁ በኋላ የሚከተለውን ኮድ በመጠቀም በአሸዋ የተሸከመውን ቅጥያ ከሁለቱም የመጫኛ ዘዴዎች ጋር ተኳሃኝ ማድረግ ይችላሉ (CLASSNAME ን ወደ የቅጥያ ክፍልዎ ስም ይለውጡ) ፦

(ተግባር () {

var extensionClass = CLASSNAME ከሆነ (typeof window === "ያልተገለጸ" ||! window.vm) {Scratch.extensions.register (አዲስ extensionClass ())} ሌላ {var extensionInstance = አዲስ extensionClass (window.vm.extensionManager.runtime) var serviceName = window.vm.extensionManager._registerInternExtension (extensionInstance) window.vm.extensionManager._loadedExtensions.set (extensionInstance.getInfo ()። id ፣ serviceName)}}) ()

የሚመከር: