ዝርዝር ሁኔታ:

ትኩረት የሚስብ የሂደት መርሃ ግብር መመሪያ ለዲዛይነር-የሚዲያ ጭነት እና ክስተት 13 ደረጃዎች
ትኩረት የሚስብ የሂደት መርሃ ግብር መመሪያ ለዲዛይነር-የሚዲያ ጭነት እና ክስተት 13 ደረጃዎች

ቪዲዮ: ትኩረት የሚስብ የሂደት መርሃ ግብር መመሪያ ለዲዛይነር-የሚዲያ ጭነት እና ክስተት 13 ደረጃዎች

ቪዲዮ: ትኩረት የሚስብ የሂደት መርሃ ግብር መመሪያ ለዲዛይነር-የሚዲያ ጭነት እና ክስተት 13 ደረጃዎች
ቪዲዮ: IWCAN - WaterAid's Experience of mWater 2024, ሀምሌ
Anonim
ትኩረት የሚስብ የሂደት መርሃ ግብር መመሪያ ለዲዛይነር-የሚዲያ ጭነት እና ክስተት
ትኩረት የሚስብ የሂደት መርሃ ግብር መመሪያ ለዲዛይነር-የሚዲያ ጭነት እና ክስተት

ማቀነባበር ብዙ ውጫዊ መረጃዎችን ሊጫን ይችላል ፣ ከእነዚህም መካከል በጣም በብዛት ጥቅም ላይ የዋሉ ሦስት ዓይነቶች አሉ። እነሱ ምስል ፣ ኦዲዮ እና ቪዲዮ በተናጠል ናቸው።

በዚህ ምዕራፍ ውስጥ ከዝግጅቶች ጋር በማጣመር ኦዲዮ እና ቪዲዮን በዝርዝር እንዴት እንደሚጫኑ እንነጋገራለን። በመጨረሻ ፣ የራስዎን የሙዚቃ ቁልፍ ሰሌዳ ወይም የሙዚቃ ቤተ -ስዕል መፍጠር ይችላሉ።

ደረጃ 1 ምስሉን ያንብቡ

ከመጀመራችን በፊት የምስል ጭነት ዘዴን ወደ ኋላ መለስ ብለን እንመልከት።

ደረጃ 2 ከምስል ጋር የተዛመዱ ተግባራት

እነዚህን ተግባራት ከመጠቀማችን በፊት የምስል ነገር በ PImage በኩል መፍጠር አለብን። ከዚያ ሁሉንም ዓይነት የምስል ባህሪያትን ለመግለጽ እነዚህን ተግባራት ልንጠቀምባቸው እንችላለን።

ፕሮግራምዎን ከማካሄድዎ በፊት የምስል ምንጮችን ወደ የውሂብ ፋይል ማከማቸትዎን አይርሱ።

ደረጃ 3 ሙዚቃን መጫን ፣ መጫወት እና ማቆም

በሚከተለው ውስጥ ፣ የሙዚቃውን አጠራር ወደ እርስዎ ማስተዋወቅ እንጀምራለን። ከምስል ጭነት ጋር በጣም ተመሳሳይ ፣ መጀመሪያ ላይ የድምፅ ነገር ማወጅ አለብዎት። ከእውነተኛው ሰዋስው በታች ያለውን ምሳሌ መጥቀስ ይችላሉ።

የኮድ ምሳሌ (10-1)

[cceN_cpp ገጽታ = "ንጋት"] ማስመጣት processing.sound.*;

የድምፅ ፋይል ፋይል;

ባዶነት ማዋቀር () {

መጠን (640 ፣ 360);

ዳራ (255);

ድምጽ = አዲስ SoundFile (ይህ ፣ “1.mp3”);

}

ባዶ ባዶ ()

}

ባዶ ባዶ ቁልፍ ተጭኗል () {

// ድምጽ አጫውት

ከሆነ (ቁልፍ == 'p') {

sound.play ();

}

// ድምጽ አቁም

ከሆነ (ቁልፍ == 's') {

sound.stop ();

}

} [/cceN_cpp]

አዘገጃጀት:

ማቀነባበር ራሱ ማንኛውንም የድምፅ ቤተ -መጽሐፍት አይይዝም። እራስዎ ማውረድ ያስፈልግዎታል። ስለዚህ ኮድዎን ከመፃፍዎ በፊት የሚከተሉትን ዝግጅቶች ቢያደርጉ ይሻላል።

በሂደት ላይ ቤተ -መጽሐፍትን ያክሉ። የተለመደው ልምምድ እዚህ አለ። ለ “መሣሪያ”- “መሣሪያ አክል” ከምናሌ አሞሌው ውስጥ ይምረጡ እና ከዚያ ወደ “ቤተ-መጽሐፍት” ይቀይሩ። በቀጥታ ማውረድ እና መጫን እንዲችሉ የቤተ -መጽሐፍት ቁልፍ ቃላትን በፍለጋ ዓምድ ውስጥ ያስገቡ።

ሆኖም ፣ ይህንን ተግባር በአገር ውስጥ አገራችን (በቻይና) የምንጠቀም ከሆነ ፣ ድሩን በቀጥታ በማገናኘት ማውረድ አንችልም። VPN ን ማስጀመር አለብን። ብንጀምረውም ያልተረጋጉ ሁኔታዎች ይኖራሉ። ስለዚህ ብዙ ጊዜ ለመሞከር ታጋሽ መሆን አለብዎት። ይህ በጣም ምቹ የመጫኛ ዘዴ ነው። መጫን ካልቻሉ ከኦፊሴላዊው ድር ጣቢያ በእጅ ማውረድ አለብዎት። (https://processing.org/reference/libraries/) በእጅ የመጫን ዘዴው በጣም የተወሳሰበ ስለሆነ ፣ በሌላ ምዕራፍ ላይ የበለጠ እንወያይበታለን።

ኮድ ማብራሪያ ፦

ዝግጅቱ ከተጠናቀቀ በኋላ የድምፅ ቤተ -መጽሐፍት በትክክል ሊሠራ ይችላል። ከላይ ያለውን ኮድ ይቃኙ ፣ አሂድ የሚለውን ጠቅ ያድርጉ ፣ ከዚያ ይሠራል። ሙዚቃ ለማጫወት “P” የሚለውን ቁልፍ ፣ ሙዚቃን ለማቆም “ኤስ” ን ይጫኑ።

ለፕሮግራሙ ጥቅም ላይ ከዋለ በመጀመሪያ እሱን መጫን አለብን። መጀመሪያ ላይ ፣ “የማስመጣት ፕሮሰሲንግ. ድምጽ።*” የሚለውን ዓረፍተ ነገር ማከል አለብን። “ማስመጣት” ቁልፍ ቃል ነው ፣ ትርጉሙ ቃል በቃል መጫን ማለት ነው። ከ “ማስመጣት” በስተጀርባ የቤተ መፃህፍቱን ስም ያክሉ ፣ ከዚያ ቤተመፃህፍቱን ይጫናል። ጅራቱ ብዙውን ጊዜ የ “*” ምልክት ይከተላል ፣ ስለሆነም ሁሉንም አንድ ላይ ማከል ሳያስፈልጋቸው ሁሉንም ከቤተ -መጽሐፍት ጋር የተዛመዱ ክፍሎችን በፕሮግራሙ ውስጥ ይጭናል።

በሁለተኛው ዓረፍተ ነገር ፣ “SoundFile sound;” የድምፅ ነገር አው declaredል። SoundFile ከ PImage ጋር ተመሳሳይ ነው።

በተግባራዊ ቅንብር ውስጥ ፣ “ድምጽ = አዲስ SoundFile (ይህ ፣“1.mp3”) ፤” አንድን ነገር ለመፍጠር እና የንባብ መንገዱን ለመግለጽ ያገለግላል። እዚህ እኛ በእርግጥ አዲስ የፅንሰ -ሀሳብ ክፍልን መጠቀም ጀምረናል። አሁን በጥልቀት አንወያይም። እኛ ብቻ ማወቅ ያለብን የቋሚ የአጻጻፍ ዘዴ ነው እና የመጨረሻው ግቤት የሙዚቃ ምንጭ አድራሻውን ለመሙላት ነው።

ከ keyPressed () ክስተቶች መካከል ፣ “sound.play ()” እና “sound.stop ()” በአንፃራዊነት እንደ ጨዋታ እና ማቆሚያ ውጤት ሆነው ይሰራሉ። "." በመሃል ላይ የኦዲዮ ዕቃዎች የሚጫወት እና የሚያቆም የአባል ተግባርን ያመለክታል። የአባልን ተግባር በእቃው ውስጥ እንደ ተካተተ ተግባር ልንቆጥረው እንችላለን። እሱ አስቀድሞ የተገለፀው የዚህ ነገር ነው። በኋላ ፣ ብዙ የኦዲዮ ዕቃዎችን ማጫወት ስንፈልግ ፣ ከተዛማጅ ተለዋዋጭ ስም በስተጀርባ “.play ()” ብቻ ማከል አለብን።

የድምፅ ምንጮች በተመሳሳይ የ sketchfile ካታሎግ (በ pde ቅጥያ) ስር በመረጃ ፋይል ውስጥ ይቀመጣሉ። ከሌለ ፣ እራስዎ አንድ መፍጠር ይችላሉ።

የተግባር ስዕል መጻፍ አይርሱ። ምንም ግራፊክስ ባይስሉም ፣ ሙዚቃን በተሳካ ሁኔታ ማጫወት ያስፈልጋል።

ከላይ ያለው አሰራር በጣም የተወሳሰበ ይመስላል ፣ ግን ብዙ የኮድ ዓረፍተ -ነገር ብቻ ማከል ያስፈልግዎታል ፣ ከዚያ የጨዋታውን ተግባር መገንዘብ ይችላሉ። በጣም ምቹ ነው።

ማቀናበር እንደ mp3 ፣ wav ፣ ogg ፣ ወዘተ ያሉ የተለመዱ የኦዲዮ ቅርጸቶችን ይደግፋል።

ደረጃ 4 የሙዚቃ ፍጥነት መቆጣጠሪያ

የሚከተሉት ምሳሌዎች በጣም አስደሳች መሆን ይጀምራሉ። ሂደት የሙዚቃ ማጫወቻ ፍጥነትን የሚቆጣጠሩ አንዳንድ ተግባራትን አቅርቧል። በተመሳሳይ ጊዜ በሙዚቃ ማጫወቻ ፍጥነት ድምፆች ይለወጣሉ። አይጤን ለመቆጣጠር ስንጠቀም ፣ በጣም የስነልቦና ውጤት ይፈጥራል።

የቪዲዮ ድር ጣቢያ

የኮድ ምሳሌ (10-2)

[cceN_cpp ገጽታ = "ንጋት"] ማስመጣት processing.sound.*;

የድምፅ ፋይል ፋይል;

ባዶነት ማዋቀር () {

መጠን (640 ፣ 360);

ዳራ (255);

ድምጽ = አዲስ SoundFile (ይህ ፣ “1.mp3”);

}

ባዶ ባዶ ()

ተንሳፋፊ ፍጥነት = mouseX/(ተንሳፋፊ) ስፋት * 3;

sound.rate (ፍጥነት);

ተንሳፋፊ vol = mouseY/(ተንሳፋፊ) ቁመት * 4;

sound.amp (ጥራዝ);

}

ባዶ ባዶ ቁልፍ ተጭኗል () {

// ድምጽ አጫውት

ከሆነ (ቁልፍ == 'p') {

sound.play ();

}

// ድምጽ አቁም

ከሆነ (ቁልፍ == 's') {

sound.stop ();

}

} [/cceN_cpp]

ኮድ ያብራሩ

ተግባር.rate () የድምፅ ማጫወቻ ፍጥነትን ይቆጣጠራል። በቅንፍ ውስጥ ያለው እሴት የመጫወት ፍጥነትን ፈጣን እና ዘገምተኛ ይወስናል። እሴቱ 1 ሲሆን የመጫወቻው ፍጥነት የተለመደ ነው። ከ 1 በላይ በሚሆንበት ጊዜ ከዚያ ያፋጥኑ ፤ ከ 1 በታች ሆኖ ፣ ከዚያ ይራቁ።

ተግባር.amp () የድምፅን መጠን ይቆጣጠራል። በቅንፍ ውስጥ ያለው እሴት የድምፅ እሴቱን ይወስናል። 1 በሚሆንበት ጊዜ የድምፅ መጠኑ የተለመደ ነው። ከ 1 በላይ በሚሆንበት ጊዜ ፣ ከዚያ የድምፅ መጠን ይጨምሩ። ከ 1 በታች ሆኖ ፣ ከዚያ ድምጹን ይቀንሱ።

እዚህ ለመጫን ሁለት የአከባቢ ተለዋዋጮች ፍጥነት እና ቮልት እንደ መለኪያዎች ገንብተናል። ስለዚህ የመዳፊት አግድም ቅንጅት የሙዚቃ ቃናውን ይለውጣል ፣ እና አቀባዊው አስተባባሪ የሙዚቃውን መጠን ይለውጣል።

ደረጃ 5 ቪዲዮ ማጫወት እና ማቆም

በሂደት ላይ ፣ የቪዲዮ ጭነት ከድምጽ ጭነት ጋር ተመሳሳይ ነው። መጀመሪያ የቪዲዮ ቤተ -መጽሐፍትን ማውረድ አለብዎት። (https://processing.org/reference/libraries/video/index.html)

የኮድ ምሳሌ (10-3)

[cceN_cpp ገጽታ = "ንጋት"] ማስመጣት processing.video.*;

ፊልም mov;

ባዶነት ማዋቀር () {

መጠን (640 ፣ 360);

ዳራ (0);

mov = አዲስ ፊልም (ይህ ፣ “1.ሞቭ”);

}

ባዶ ፊልም ክስተት (የፊልም ፊልም) {

mov.read ();

}

ባዶ ባዶ ()

ምስል (mov, 0, 0, 640, 360);

}

ባዶ ባዶ ቁልፍ ተጭኗል () {

ከሆነ (ቁልፍ == 'p') {

mov.play ();

}

ከሆነ (ቁልፍ == 's') {

mov.stop ();

}

ከሆነ (ቁልፍ == 'd') {

mov.pause ();

}

} [/cceN_cpp]

የቪዲዮ ቅጽበታዊ ገጽ እይታ;

ኮድ ያብራሩ

የመጀመሪያው ዓረፍተ ነገር “የማስመጣት ሂደት። ቪዲዮ።*፤” የቪዲዮ ቤተ -መጽሐፍትን ለመጫን ያገለግላል።

ሁለተኛው ዓረፍተ ነገር “ፊልም mov;” የቪዲዮን ነገር ለማወጅ ያገለግላል። ከእሱ ውስጥ የ “ፊልም” ተግባር ከ PImage ጋር ተመሳሳይ ነው።

በተግባራዊ ቅንብር ውስጥ የ “mov = አዲስ ፊልም (ይህ ፣“1.mov”) ፤” ውጤት ፣ ነገርን መፍጠር እና የንባብ መንገዱን መግለፅ ነው። የመጨረሻው ግቤት በቪዲዮ ምንጭ አድራሻ ይሞላል።

Behine ማዋቀር ፣ የፊልም ኢቬንት የቪዲዮ ክስተትን ይወክላል። የቪዲዮ መረጃን ለማዘመን እና ለማንበብ ጥቅም ላይ ይውላል። በክስተቱ ውስጥ "mov.read ()" ማንበብ ማለት ነው።

ምስሎችን ከማሳየት በስተቀር የተግባር ምስል ቪዲዮን ማሳየትም ይችላል። የቪዲዮ ነገርን እንደ ተለዋዋጭ ስዕል ልንቆጥረው እንችላለን። የመጀመሪያው ግቤት ፣ የቪዲዮውን ተለዋዋጭ ስም እንሞላለን። ሁለተኛው እና ሦስተኛው መለኪያዎች በቪዲዮ የተሳሉ አግድም እና አቀባዊ ቅንጅት ናቸው። አራተኛው እና አምስተኛው መለኪያዎች የቪዲዮ ማሳያውን ርዝመት እና ስፋት ይወስናሉ።

ተግባር.ጨዋታ () ማለት ጨዋታ ማለት ነው። ተግባር.stop () ማቆም ማለት ነው ፣ እና ቪዲዮውን ዳግም ያስጀምረዋል። ተግባር ።አፍታ () ለአፍታ ቆም ማለት ነው። ተግባር.play () እስኪጠራ ድረስ የሚቀጥለውን የአሁኑን ጨዋታ ያቋርጣል።

ደረጃ 6 የቪዲዮ ፍጥነት መቆጣጠሪያ

የኮድ ምሳሌ (10-4)

[cceN_cpp ገጽታ = "ንጋት"] ማስመጣት processing.video.*;

ፊልም mov;

ባዶነት ማዋቀር () {

መጠን (640 ፣ 360);

ዳራ (0);

mov = አዲስ ፊልም (ይህ ፣ “transit.mov”);

}

ባዶ ፊልም ክስተት (የፊልም ፊልም) {

mov.read ();

}

ባዶ ባዶ ()

ምስል (mov ፣ 0 ፣ 0 ፣ ስፋት ፣ ቁመት);

float newSpeed = mouseX/(ተንሳፋፊ) ስፋት * 4;

mov.speed (newSpeed);

}

ባዶ ባዶ ቁልፍ ተጭኗል () {

ከሆነ (ቁልፍ == 'p') {

mov.play ();

}

ከሆነ (ቁልፍ == 's') {

mov.stop ();

}

ከሆነ (ቁልፍ == 'd') {

mov.pause ();

}

}

[/cceN_cpp]

ኮድ ያብራሩ -

ተግባር.pepeed () የቪዲዮን የመጫወት ፍጥነት ለመቆጣጠር ሊያገለግል ይችላል። የመለኪያ እሴቱ 1 ሲሆን የመጫወቻው ፍጥነት የተለመደ ነው። እሴቱ ከ 1 በላይ ከሆነ ፣ ከዚያ ያፋጥኑ ፤ ከ 1 በታች ሆኖ ፣ ከዚያ ያፋጥኑ።

እኛ አካባቢያዊ ተለዋዋጭ newSpeed ን ገንብተን ወደ ተግባር setSpeed () ስላስገባነው ፣ የመዳፊት ቅንጅት በቀጥታ በቪዲዮ ማጫወት ፍጥነት ላይ ተጽዕኖ ይኖረዋል።

ስለቪዲዮ ተጨማሪ ምሳሌዎችን በተመለከተ ፣ በቤተ -መጽሐፍት ውስጥ - ቪዲዮን በጉዳይ ቤተ -መጽሐፍት ውስጥ ማመልከት ይችላሉ።

ደረጃ 7 የጋራ ክስተቶችን ማቀናበር

ከዚህ ቀደም እኛ የ KeyPressed () ክስተትን ብቻ አስተዋውቀናል። የቁልፍ ሰሌዳው ከተጫነ በኋላ ይነቃቃል። በሚከተለው ውስጥ ለእርስዎ ሌሎች በሂደት ላይ ያሉ የተለመዱ ክስተቶችን እናስተዋውቅዎታለን።

ከላይ የተጠቀሱት ክስተቶች አጠቃቀሞች ከ keyPressed ጋር ተመሳሳይ ናቸው። በኮድ አጻጻፍ ቅደም ተከተል የላቸውም። በሌላ አገላለጽ ፣ የትኛውን ክስተት ከተግባር ቅንብር በፊት ወይም ከኋላ ቢያስቀምጡ ፣ ተመሳሳይ ውጤት ያገኛሉ። የማስፈጸሚያ ትዕዛዙ ከዝግጅቱ ራሱ ቀስቃሽ ሁኔታ ጋር ብቻ የተያያዘ ነው። ሁኔታው ከተሟላ ብቻ ያኔ ይፈፀማል። ከላይ ያሉት ክስተቶች ለመረዳት በጣም ቀላል ናቸው። ትንሽ ሙከራ ማድረግ ብቻ ነው ፣ ከዚያ የእነሱን አጠቃቀም በፍጥነት መረዳት ይችላሉ።

የክስተት ፍሰት

የክስተቶችን አፈፃፀም ቅደም ተከተል ለማወቅ አንድ ምሳሌ መጠቀም እንችላለን።

የኮድ ምሳሌ (10-5)

[cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

frameRate (2);

println (1);

}

ባዶ ባዶ ()

println (2);

}

ባዶ ባዶ mousePressed () {

println (3);

}

ባዶ ባዶ mouseMoved () {

println (4);

}

ባዶ ባዶ mouseReleased () {

println (5);

}

ባዶ ባዶ ቁልፍ ተጭኗል () {

println (6);

}

ባዶ ባዶ ቁልፍ ተለቋል () {

println (7);

} [/cceN_cpp]

ኮድ ያብራሩ

በተግባራዊ ቅንብር ውስጥ ተግባር frameRate () የፕሮግራሙ የሥራ ፍጥነት ፍጥነት በሰከንድ 2 ፍሬሞች እንዲሆን አድርጎታል። የተቀሰቀሱ ክስተቶች ወዲያውኑ በአዲሱ ውሂብ ወደ ጀርባ ቢቦረጉሩ የፍሬም መጠንን ዝቅ ማድረግ በኮንሶል ውስጥ ያለውን ውጤት እንድናስተውል ይረዳናል።

መዳፊትዎን ለማንቀሳቀስ ይሞክሩ ፣ አይጤን ጠቅ ያድርጉ ፣ አይጤን ይልቀቁ እና የውጤቱን ውጤት ይመልከቱ። በ println በኩል የዝግጅት አፈፃፀም ትዕዛዙን ይወቁ።

ትኩረት መስጠቱ ዋጋ ያለው ነገር ከተግባር መሳል በስተቀር የስዕል ተግባራት በሌሎች ክስተቶች ውስጥ መፃፍ አለመቻል ነው ወይም ማሳየት አይችልም። እንደ keyPressed ባሉ ዝግጅቶች በኩል የግራፊክ ክፍሎችን መደበቅ እና ማሳየትን ለመቆጣጠር ከፈለግን ፣ የመካከለኛ ተለዋዋጭ እንደ መካከለኛ ለመገንባት ልናስብ እንችላለን።

ክስተቶች በቅደም ተከተል ይፈጸማሉ። አሁን ባለው ክስተት ውስጥ ያለው ኮድ ሁሉ ከተተገበረ በኋላ ብቻ በሚቀጥለው ክስተት ኮዱን ያስፈጽማል።

ደረጃ 8-አጠቃላይ ምሳሌ-የሙዚቃ ቁልፍ ሰሌዳ

አዲስ ከተያዙት ክስተቶች ጋር በማጣመር በፕሮግራማችን ላይ አዲስ መስተጋብሮችን ማከል እንችላለን። በመቀጠል ፣ በጥቂት ደቂቃዎች ብቻ ፣ የሙዚቃ ቁልፍ ሰሌዳ በቀላሉ አናሎግ ማድረግ እንችላለን።

የቪዲዮ ድር ጣቢያ

የኮድ ምሳሌ (10-6)

[cceN_cpp ገጽታ = "ንጋት"] ማስመጣት processing.sound.*;

SoundFile sound1 ፣ sound2 ፣ sound3 ፣ sound4 ፣ sound5;

ቡሊያን ቁልፍ 1 ፣ ቁልፍ 2 ፣ ቁልፍ 3 ፣ ቁልፍ 4 ፣ ቁልፍ5 ፤

ባዶነት ማዋቀር () {

መጠን (640 ፣ 360);

ዳራ (255);

noStroke ();

sound1 = አዲስ SoundFile (ይህ ፣ “do.wav”);

sound2 = አዲስ SoundFile (ይህ ፣ “re.wav”);

sound3 = አዲስ SoundFile (ይህ ፣ “mi.wav”);

sound4 = አዲስ SoundFile (ይህ ፣ “fa.wav”);

sound5 = አዲስ SoundFile (ይህ ፣ “so.wav”);

}

ባዶ ባዶ ()

ዳራ (255 ፣ 214 ፣ 79);

rectMode (ማዕከል);

ተንሳፋፊ w = ስፋት * 0.1;

ተንሳፋፊ ሸ = ቁመት * 0.8;

ከሆነ (ቁልፍ 1) {

መሙላት (255);

} ሌላ {

መሙላት (238 ፣ 145 ፣ 117);

}

ቀጥ ያለ (ስፋት/6 ፣ ቁመት/2 ፣ ወ ፣ ሸ);

ከሆነ (ቁልፍ 2) {

መሙላት (255);

} ሌላ {

ሙላ (246 ፣ 96 ፣ 100);

}

ቀጥ ያለ (ስፋት/6 * 2 ፣ ቁመት/2 ፣ ወ ፣ ሸ);

ከሆነ (ቁልፍ 3) {

መሙላት (255);

} ሌላ {

ሙላ (214 ፣ 86 ፣ 113);

}

ቀጥ ያለ (ስፋት/6 * 3 ፣ ቁመት/2 ፣ ወ ፣ ሸ);

ከሆነ (ቁልፍ 4) {

መሙላት (255);

} ሌላ {

መሙላት (124 ፣ 60 ፣ 131);

}

ቀጥ ያለ (ስፋት/6 * 4 ፣ ቁመት/2 ፣ ወ ፣ ሸ);

ከሆነ (ቁልፍ 5) {

መሙላት (255);

} ሌላ {

መሙላት (107 ፣ 27 ፣ 157);

}

ቀጥ ያለ (ስፋት/6 * 5 ፣ ቁመት/2 ፣ ወ ፣ ሸ);

}

ባዶ ባዶ ቁልፍ ተጭኗል () {

ከሆነ (ቁልፍ == 'ሀ') {

sound1.play ();

ቁልፍ 1 = እውነት;

}

ከሆነ (ቁልፍ == 's') {

sound2.play ();

key2 = እውነት;

}

ከሆነ (ቁልፍ == 'd') {

sound3.play ();

key3 = እውነት;

}

ከሆነ (ቁልፍ == 'f') {

sound4.play ();

key4 = እውነት;

}

ከሆነ (ቁልፍ == 'g') {

sound5.play ();

key5 = እውነት;

}

}

ባዶ ባዶ ቁልፍ ተለቋል () {

ከሆነ (ቁልፍ == 'a') {

key1 = ሐሰት;

}

ከሆነ (ቁልፍ == 's') {

key2 = ሐሰት;

}

ከሆነ (ቁልፍ == 'd') {

key3 = ሐሰት;

}

ከሆነ (ቁልፍ == 'f') {

key4 = ሐሰት;

}

ከሆነ (ቁልፍ == 'g') {

key5 = ሐሰት;

}

} [/cceN_cpp]

ኮድ ያብራሩ

የተለያዩ ቁልፎች ሲቀሰቀሱ የተለያዩ ድምፆችን ለማጫወት አንፃራዊውን የድምፅ መረጃ ለማንበብ በርካታ የድምፅ ነገሮችን መፍጠር አለብን።

እዚህ እኛ አዲስ የክስተት ቁልፍ ተፈትቷል () እንጠቀማለን። የዚህ ክስተት ተግባር የቁልፍ ሰሌዳውን ቀለም ወደ መጀመሪያው ቀለም መመለስ ነው። ቁልፉን ሲለቁ ይቀሰቅሳል።

በጭንቅላቱ ውስጥ የተገለፁት 5 ቡሊያን እሴቶች የቁልፍን ሁኔታ ለመለየት ያገለግላሉ።

ደረጃ 9 ሁሉን አቀፍ ምሳሌ-የሙዚቃ ቤተ-ስዕል 1

ከቁልፍ ሰሌዳ ክስተት በተጨማሪ የመዳፊት ክስተት በተለዋዋጭነት ልንጠቀምበት የሚገባ ጥሩ ነገር ነው። የሚከተለው ምሳሌ እኛ የሙዚቃ ቤተ -ስዕል እንድንፈጥር ነው ፣ ከእነዚህም መካከል ሁለት አይጥ ተዛማጅ ክስተቶችን ተጠቅመናል።

የቪዲዮ ድር ጣቢያ

የኮድ ምሳሌ (10-7)

[cceN_cpp ገጽታ = "ንጋት"] ማስመጣት processing.sound.*;

SoundFile sound1 ፣ sound2 ፣ sound3 ፣ sound4 ፣ sound5;

ቡሊያን is Dragging;

ባዶነት ማዋቀር () {

መጠን (640 ፣ 360);

ዳራ (255 ፣ 214 ፣ 79);

noStroke ();

sound1 = አዲስ SoundFile (ይህ ፣ “do.wav”);

sound2 = አዲስ SoundFile (ይህ ፣ “re.wav”);

sound3 = አዲስ SoundFile (ይህ ፣ “mi.wav”);

sound4 = አዲስ SoundFile (ይህ ፣ “fa.wav”);

sound5 = አዲስ SoundFile (ይህ ፣ “so.wav”);

}

ባዶ ባዶ ()

ከሆነ (isDragging) {

መሙላት (107 ፣ 27 ፣ 157 ፣ 100);

ellipse (መዳፊት ኤክስ ፣ አይጥ ፣ 16 ፣ 16);

}

}

ባዶ ባዶ mouseDragged () {

isDragging = እውነት;

ከሆነ (mouseX> 100 && mouseX <105) {

sound1.play ();

}

ከሆነ (mouseX> 200 && mouseX <205) {

sound2.play ();

}

ከሆነ (mouseX> 300 && mouseX <305) {

sound3.play ();

}

ከሆነ (mouseX> 400 && mouseX <405) {

sound4.play ();

}

ከሆነ (mouseX> 500 && mouseX <505) {

sound5.play ();

}

}

ባዶ ባዶ mouseReleased () {

isDragging = ሐሰት;

} [/cceN_cpp]

ኮድ ያብራሩ -

አይጤን ተጭነን ስንጎተት ብቻ ስዕሎችን መሳል እንደምንችል ተስፋ እናደርጋለን። ስለዚህ የአሁኑን ሁኔታ ለማግኘት የቦሊያን ተለዋዋጭ isregging መገንባት አለብን።

አይጤን በሚጎትቱበት ጊዜ መሳል በእውነተኛ እሴት ይሆናል ፣ ስለዚህ በስዕሉ ውስጥ የስዕል ተግባራት ይፈጸማሉ። በማያ ገጹ ላይ ዱካዎችን ይተዋል። መዳፊቱን ስንለቀው ፣ isDragging የሐሰት እሴት ይሆናል። ስለዚህ በስዕል መሳል ውስጥ ያሉት የስዕል ተግባራት አፈፃፀሙን ያቆማሉ።

በመዳፊት የመጎተት ክስተት ውስጥ በርካታ ቀስቃሽ ሁኔታዎችን አዘጋጅተናል። ለምሳሌ ፣ የመዳፊት አግድም ቅንጅት በ 100 እና በ 105 ፒክሰሎች መካከል በሚሆንበት ጊዜ ሙዚቃ በራስ -ሰር ይጫወታል። ይህ ማያ ገጹ በርካታ የማይታዩ ሕብረቁምፊዎችን እንዲፈጥር ያደርገዋል። አይጥ በተወሰኑ አካባቢዎች ውስጥ ሲያልፍ ብቻ አንፃራዊውን ሙዚቃ ያነቃቃል።

ደረጃ 10-አጠቃላይ ምሳሌ-የሙዚቃ ቤተ-ስዕል 2 (የዘመነ ስሪት)

ከላይ የተጠቀሰው ምሳሌ ውጤት ቀድሞውኑ በቂ ነው። ግን በጥንቃቄ ከተመለከትን ብዙ ችግሮች እናገኛለን። ለምሳሌ ፣ መዳፊት በጣም በፍጥነት በሚንቀሳቀስበት ጊዜ ፣ በሚያንቀሳቅስበት ጊዜ በማያ ገጹ ላይ አንድ ክብ ነጥብ ይተዋል። አንድ ወጥ የሆነ ቀጥተኛ መስመር አይደለም። ይህ በእንዲህ እንዳለ ፣ አንዳንድ የሙዚቃ መፍሰስ ያስከትላል። መዳፊቱ በጣም በዝግታ ሲንቀሳቀስ ፣ አግድም ቅንጅት በ 100 እና 105 መካከል በሚሆንበት ጊዜ አቋሙን በማለፍ ፣ በአጭር ጊዜ ውስጥ ሙዚቃን ለበርካታ ጊዜያት ያሰራጫል ፣ ይህም የመደመር ስሜት ይሰጥዎታል። እነዚህ ሁሉ ችግሮች ፣ ከዚህ በታች ባለው ምሳሌ ልንፈታው እንችላለን።

ከዚህ በታች ባለው አገናኝ ቪዲዮዎችን ማየት ይችላሉ-

v.qq.com/x/page/w03226o4y4l.html

የኮድ ምሳሌ (10-8)

[cceN_cpp ገጽታ = "ንጋት"] ማስመጣት processing.sound.*;

SoundFile sound1 ፣ sound2 ፣ sound3 ፣ sound4 ፣ sound5;

ቡሊያን is Dragging;

ባዶነት ማዋቀር () {

መጠን (640 ፣ 360);

ዳራ (255 ፣ 214 ፣ 79);

noStroke ();

sound1 = አዲስ SoundFile (ይህ ፣ “do.wav”);

sound2 = አዲስ SoundFile (ይህ ፣ “re.wav”);

sound3 = አዲስ SoundFile (ይህ ፣ “mi.wav”);

sound4 = አዲስ SoundFile (ይህ ፣ “fa.wav”);

sound5 = አዲስ SoundFile (ይህ ፣ “so.wav”);

}

ባዶ ባዶ ()

ከሆነ (isDragging) {

ስትሮክ (107 ፣ 27 ፣ 157 ፣ 100);

የጭረት ክብደት (10);

መስመር (መዳፊት ፣ አይጥ ፣ pmouseX ፣ pmouseY);

}

}

ባዶ ባዶ mouseDragged () {

isDragging = እውነት;

ከሆነ ((mouseX - 100) * (pmouseX - 100) <0) {

sound1.play ();

}

ከሆነ ((mouseX - 200) * (pmouseX - 200) <0) {

sound2.play ();

}

ከሆነ ((mouseX - 300) * (pmouseX - 300) <0) {

sound3.play ();

}

ከሆነ ((mouseX - 400) * (pmouseX - 400) <0) {

sound4.play ();

}

ከሆነ ((mouseX - 500) * (pmouseX - 500) <0) {

sound5.play ();

}

}

ባዶ ባዶ mouseReleased () {

isDragging = ሐሰት;

} [/cceN_cpp]

ኮድ ያብራሩ -

እዚህ እኛ በማቀናበር ስርዓት በራሱ ውስጥ የተሸከሙ ሁለት ተለዋዋጮችን pmouseX እና pmouseY ን ተጠቅመናል። እነሱ ከመዳፊት እና አይጥ ጋር ተመሳሳይ ናቸው ግን ያገኙት በመጨረሻው ፍሬም ውስጥ የመዳፊት አስተባባሪ ናቸው።

በተግባራዊ ስዕል ውስጥ የመጀመሪያውን ተግባር ኤሊፕስ () ለመተካት የተግባር መስመርን () ተጠቅመናል። ይህ የአሁኑ ክፈፍ አስተባባሪ ጋር በቀጥታ የተገናኘው የመጨረሻው ፍሬም አስተባባሪ ያደርገዋል። ስለዚህ ወጥነት ያላቸው ቀጥ ያሉ መስመሮችን ወይም ኩርባዎችን መሳል እንችላለን።

በመዳፊት ድራግ ውስጥ ፣ አዲስ ቀስቃሽ ሁኔታን ነድፈናል።አንድ የተወሰነ አስተባባሪ ተሻገረ አለመሆኑን ለማወቅ የመጨረሻው ፍሬም እና የአሁኑ ፍሬም አስተባባሪ በአንድ ወገን ውስጥ መሆናቸውን በመፍረድ። ይህንን ሁኔታ እንደ ምሳሌ ይውሰዱ - “ከሆነ ((mouseX - 100) * (pmouseX - 100) <0)”። ከሱ ፣ ከ “አይኤክስኤክስ - 100” ከተገኘው አዎንታዊ እና አሉታዊ እሴት ፣ አይጥኤክስ በአግድመት ኮዲነቴ 100 በቀኝ ወይም በግራ መሆኑን ማወቅ እንችላለን። በተመሳሳይ ከ “pmouseX - 100” ጋር። ስለዚህ ፣ ከፊትና ከኋላ ያሉት ሁለቱ ነጥቦች በአንድ ጎን በማይሆኑበት ጊዜ ፣ አዎንታዊ አሉታዊን ያበዛል ፣ አዲስ አሉታዊ ቁጥር ያገኛል። ስለዚህ የአፈፃፀም ሁኔታው ይረካል።

ከላይ ያለው ቀለል ያለ አገላለጽ ነው ፣ እሱም የተወሰኑ የሂሳብ ስልተ ቀመሮችን በጥበብ የተጠቀመ-ሁለት አሉታዊ ነገሮች ሲባዙ አዎንታዊ ይፈጥራሉ። እንዲሁም በተናጠል ለመወያየት በሁለት ሁኔታዎች መከፋፈል ይችላሉ። ሆኖም ፣ የፍርድ ሁኔታዎችን መጻፍ በጣም የተወሳሰበ ነው። የፍርድ ሁኔታዎች “((mouseX = 100) || (mouseX> 100 && pmouseX <= 100))” የምንጩን ኮድ ከመወሰን ሁኔታዎች ጋር እኩል ነው።

ደረጃ 11 - ስለ ኦዲዮ እና ቪዲዮ ቁጥጥር አንጻራዊ ተግባራት

ከላይ የተጠቀሱት ተግባራት ለአጠቃላይ የአጠቃቀም ሁኔታዎች በቂ ናቸው። በጥልቀት ለመቆፈር ከፈለጉ ፣ እዚህ ከኦዲዮ እና ቪዲዮ ጋር የሚዛመዱ አንዳንድ የተለመዱ ተግባሮችን ለእርስዎ ሰብስቤያለሁ። በእራስዎ መስፈርቶች መሠረት አጠቃቀሙን ማሰስ ይችላሉ።

ለበለጠ መግቢያ ፣ ሰነዶችን ከኦፊሴላዊ ድርጣቢያ ማመልከት ይችላሉ።

ኦዲዮ (https://processing.org/reference/libraries/sound/index.html)

ቪዲዮ (https://processing.org/reference/libraries/video/index.html)

ይህ ጽሑፍ ከዲዛይነር ዌንዚ የመጣ ነው።

ደረጃ 12 - አንጻራዊ ንባቦች ፦

አስደሳች ለዲዛይነር መመሪያ-የመጀመሪያ ንክኪን ማቀናበር

ለዲዛይነር አስደሳች የፕሮግራም መመሪያ - የመጀመሪያዎን የማቀናበር ፕሮግራም ይፍጠሩ

የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን ማካሄድ (ክፍል አንድ)

የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን ማካሄድ (ክፍል ሁለት)

የሚስብ የፕሮግራም መመሪያ ለዲዛይነር –የፕሮግራም ሂደት ቁጥጥር- የሉፕ መግለጫ

አስደሳች የፕሮግራም መመሪያ ለዲዛይነር-የፕሮግራም ሂደት ቁጥጥር-የሁኔታ መግለጫ (ክፍል አንድ)

አስደሳች ለዲዛይነር መመሪያ-የፕሮግራም ሂደት ቁጥጥር-የሁኔታ መግለጫ (ክፍል ሁለት)

ለዲዛይነር አስደሳች የፕሮግራም መመሪያ-ብጁ ተግባራት እና የአጥንት ሽርሽር

ለዲዛይነር አስደሳች የፕሮግራም መመሪያ-ብጁ ተግባራት እና የአጥንት ሽርሽር

ትኩረት የሚስብ የሂደት መርሃ ግብር መመሪያ ለዲዛይነር-የቀለም ቁጥጥር

ደረጃ 13 ምንጭ

ይህ ጽሑፍ ከ: https://www.elecfreaks.com/11592.html ነው

ማንኛውም ጥያቄ ካለዎት : [email protected] ን ማነጋገር ይችላሉ።

የሚመከር: