åéĄãŽčĒŦæīŧ
ä¸é¨ãŽå¤æ°ãéĸæ°ãäģãŽãšã¯ãĒããããåŠį¨ã§ãããįšåŽãŽãšã¯ãĒãããĢ寞ããĻããŧãĢãĢã§ããå ´åã¯ããŗãŧãæ§é ãæšåãããã¨ãéčĻãĢãĒãå¯čŊæ§ããããžãã å¤åãããŽãããŽæ°ããããŧã¯ãŧããå°å
Ĩããžããīŧ ãžãã¯į§ã¯äŊããæããã¨äģããŽå¯čŊæ§ã¯ãããžããīŧ
å¤æ°ãĢæãčŋããŽã¯ã setget
ãäŊŋį¨ããĻãäŊãããĒããčĻåãåēåããéĸæ°ãäŊæãããã¨ã§ãã ããããããããįãŽããŠã¤ããŧãå¤æ°ãéĸæ°ã¯ãããžããã
@YeldhamDevæ˛ãããã¨ãĢã setget
ã¯åŊšãĢįĢãĄãžãããå
Ŧå
ąãŽč˛ĄįŖãčĻãããĒãå ´åã¯ããããčĄãæšæŗã¯ãããžããã ããã¯æĒãã§ãã @ reduzããĒãã¯ãŠãæããžããīŧ
Pythonã§ãä¸å¯čŊã§ããå é ãĢ2ã¤ãŽãĸãŗããŧãšãŗãĸãäģããĻããå¤æ°ã¸ãŽãĸã¯ãģãšã¨å¤æ´ãåĻ¨ãããããã¨ã¯ãããžããã Pythonã§ã¯ãäģŖãããĢčĻåãäŊŋį¨ããžããå¤æ°ãããŠã¤ããŧãã§ãããã¨ãį¤ēã1ã¤ãŽå é ãŽä¸įˇãåŽæ°ã§ãããã¨ãį¤ēãALL_CAPS ...ãŠãããã§ããĸã¯ãģãšã§ããžãããåŽéãĢã¯åéĄã§ã¯ãããžããã
@NathanLovatoããļããããŽå ´åãGDScriptã¯Pythonã¨ã¯į°ãĒãã¯ãã§ããīŧ
@ChaosusããŠã¤ããŧãå¤æ°ãåŋ čĻãĒįįąãčĒŦæããåŧæ°ãæäžããåŋ čĻããããžãã ããã§ãĒããã°ãčĒ°ãããããĢåãįĩããã¨ã¯ãããããĢãããžããã
ããŠã¤ããŧãå¤æ°ã¯ãããŧãŋããĢããģãĢåããäģãŽã¯ãŠãšã¨ãŽįĩåãé˛ããããĢãããĢãããžã-äģãŽã¯ãŠãšãããããŽå¤æ°ãĢãĸã¯ãģãšãããŽãé˛ããžãã ããããããããĢãĸã¯ãģãšããĒãå ´åãåéĄãč§Ŗæąēãããžãã
ãŠãĄããŽå ´åãīŧprivateããŧã¯ãŧããäŊŋį¨ããããčĻåãäŊŋį¨ããĻč¨čŋ°ããīŧãå¤æ°ãããŠã¤ããŧããĢãããŋã¤ããŗã°ã¨æšæŗãå¤æ°ãĢãĸã¯ãģãšã§ãããŋã¤ããŗã°ã¨æšæŗãåĻįŋããåŋ čĻããããžãã åžã§ã¤ãŗãŋãŧãã§ãŧãšãåŖããã¨ãĒãå é¨ãå¤æ´ã§ãããããĢããžãããŽéãã§ãããããĢãã¯ãŠãšãŽč¨č¨ãåĻãļåŋ čĻããããžãã ãŗãŧããĸãŧããã¯ããŖãĢéĸããĻã¯ããããæ大ãŽåéĄãŽåå ã ã¨æããžãã
PythonãĢéĸããĻã¯ãäŊįžä¸ããŽPythonéįēč ãåŠį¨ã§ããžãã å¤æ°ããããŠã¤ããŧãããĢãããĄãĢããēã ããããį´æĨãĸã¯ãģãšãé˛ããžããããã¯į°Ąåã§ãã1ã¤ã§ã¯ãĒã2ã¤ãŽå é ãŽãĸãŗããŧãšãŗãĸãč¨čŋ°ããžãã ããããį§ã¯ãžã čĒ°ãããããäŊŋį¨ããĻãããŽãčĻããã¨ããããžããã æčŋãžã§JSã§ãåŠį¨ã§ããžããã§ããã ããããããŽãããĒäģãŽč¨čĒããããžãã
GDscriptãĢåĢãããšãã§ã¯ãĒãã¨č¨ãŖãĻãããŽã§ã¯ãããžãããäģãŽäēēãããŽæŠčŊãããžãåŠį¨ããĻããããŠããã¯æŦåŊãĢæ°ãĢããžããã į§ã¯ããããããģãŠæį¨ã§ããã¨ã¯įĸēäŋĄããĻããžããã ãã¨ãã°ãGodotã¯ããĒãŧããŗãŗããĒãŧãã§å
é ãĢ_ãžãã¯2ãäģããå¤æ°ãä¸čĻ§čĄ¨į¤ēã§ããžããã§ããīŧãã ããäģŽæŗéĸæ°ãŽčĻåã¨ããĻ_function_name
ãäŊŋį¨ããžãīŧã
GDScriptã§ã¤ãŗããĒãģãŗãšãäŊŋį¨ããå é¨ãĄãŊããã襨į¤ēããããĒããŽã§ãCīŧãããŽäģãŽéįåäģãč¨čĒãŽãããĢããžãã
ãããį§ã¯åŽčŖ
ãéŖãããæ°ããããŧã¯ãŧããåŋ
čĻã§ãããã¨ãĢåæããžããé常ãĢå°ããĒįĩæãĢã¯å¤å¤§ãĒå´åãåŋ
čĻã§ãã
ããŦããŖãã¯ãšãã__ããŽãŊãĒãĨãŧãˇã§ãŗã¯ãåéĄãé¨åįãĢč§Ŗæąēããžãīŧãããã§īŧīŧį§ã¯PythonãäŊŋį¨ãããã¨ããĒããŽã§ãããã¯į§ãĢã¨ãŖãĻæ°ãããã¨ã§ãīŧã
į§ã¯ããããã§ãĢéããããĻãĸãŧãĢã¤ããããĻãããã¨ãįĨãŖãĻããžãīŧãããĢã¤ããĻåĨãŽåéĄãéããããšãããŠããã¯ããããžããīŧãããĸã¯ãģãšäŋŽéŖžåã¯ãŠãŽããã°ãŠããŗã°č¨čĒã§ãé常ãĢéčĻãĒæŠčŊã§ãã Godotį¨ãŽæ°ããããŧããĸããĒãŗãäŊæãããã¨ããĢãæ°ããããŧããĢããŧããŽå¤é¨ã§å¤æ´ããĻã¯ãĒããĒãå é¨įļæ å¤æ°ãããå ´åããããåĻ¨ããããŽã¯äŊããããžããã ããŽæŠčŊãæ¨ĄåŖãããããĢå é ãŽä¸įˇãäŊŋį¨ã§ãããã¨ãįč§ŖããĻããžãããããã§ããĸã¯ãģãšäŋŽéŖžåå ¨äŊã§ãããĸã¯ãģãšãåĻ¨ãããã¨ã¯ãããžããã į§ãŽæčĻã§ã¯ãäģãŽäēēãããĒããŽãĒãã¸ã§ã¯ãã¨į¸äēäŊį¨ããæšæŗãåļåžĄããæšæŗããĒããŽã§ãããã¯ããĒã大ããĒåéĄã§ãã
ãããį§ã¯@dylmeadowsãĢåæã
į§ã¯ééããĒããããŽããŠã¤ããŧãéĸæ°ã¨å¤æ°ã§ããããžãã
ã¯ãããĄãŊããåãŽåãĢ_ãäŊŋį¨ããããŠã¤ããŧããŽčĻåããããžãããäģŽæŗéĸæ°ãĢããžãŖããåãčĻåãäŊŋį¨ãããžãã ããããŖãĻããĸãŗããŧãšãŗãĸã襨į¤ēãããå ´åã¯ããããŽæŠčŊãĢč§ĻããĒãã§ãã ãããã¨ããæåŗã§ããå¯čŊæ§ããããžãã ãžãã¯ãããŽéĸæ°ãä¸æ¸ãããĻãã ããīŧãã æŖį´ãĒã¨ãããããã¯åąéēã§ãã
į§ãä¸äēēã§ããžãã¯å°ããĒããã¸ã§ã¯ãã§é常ãĢå°ããĒããŧã ã§äŊæĨããĻããå ´åããŠãŽéĸæ°ãäŊŋį¨ããããã¨ãæåŗãããŠãŽéĸæ°ãå
é¨äŊŋį¨ãŽãŋãįŽįã¨ããĻãããŽãããããŖãĻãããŽã§ããããģãŠéčĻã§ã¯ãããžããã
ããããããŧã ãæéˇãããĢã¤ããĻãããã¯ãžããžãå°éŖãĢãĒããžãã äēēã
ã¯ãã¤ãčĒåã§æ¸ããããã§ã¯ãĒãã¯ãŠãšã§åããĻããžããį§ã¯įŠäēãæŠčŊããããããĢå°ããĒå
é¨éĸæ°ãããããæ¸ããĻãããŽã§ãäēēã
ãããããŽéĸæ°ãåŧãŗåēããĒããããĢãããã¨æãŖãĻããžããæåŗããĒãåäŊããã°ãĢã¤ãĒããå¯čŊæ§ããããããšãįēįããã¨ããããäŋŽæŖãããŽãĢæéãããããžãã ããšãĻãŽåžãåŊŧãã¯å¤é¨ããåŧãŗåēãå¯čŊã§ãããããå
ąéãŽæ
ŖįŋãĢãããããããããããŽããŽã¯ããã大ããĒããŧã ã§äŊãčĩˇããŖãããžãã
å°ãĒãã¨ãæåžãŽã§ã¯ãĒã; ãĒãŧããŗãŗããĒãŧãã į§ã¯ã¯ãŠãšãäŊãã§ããããåĻãļãããĢãããããäŊŋãäēēã§ãã
į§ã¯ãããããã æåžãĢããŠãŽéĸæ°ãããããĸããããããįĸēčĒããžãã äŊãåŊšãĢįĢã¤ã¨æãã°ãį§ã¯ãããäŊŋããžãã
ã¨ãĢããåŧãŗåēãããã¯ããŽãĒãããšãĻãŽéĸæ°ãæŖãããŖãĻããĒããã°ãã¯ãããĢã¯ãĒãŧãŗãĢãĒããžãã ãããĢå ããĻ-ãããĻäŊåēĻã-į§ã¯ãžã ããããŽ_nameéĸæ°ãããŠã¤ããŧããäģŽæŗããįĨããžããã
ãžããããŠã¤ããŧãå¤æ°ã¯åäēēįãĒããã¸ã§ã¯ãã§ãåŊšįĢãĄãžãã čĒåãåãįĩãã§ããã˛ãŧã ãĢåãįĩããã¨ãã§ããĒãæéããããŽã§ãčĒåãŽæŠčŊãŽããã¤ããäŊãããĻãããŽããåŋãå§ããžãã ãžãã¯ããŠãĄããäŊŋį¨ããšãããäŊŋį¨ããšãã§ãĒãããåŋããĻããžãã
ããŠã¤ããŧãå¤æ°ã¯ããã§į´ æ´ãããã§ãããīŧ å¤æ°ãžãã¯éĸæ°ãĢããŧããŽå¤é¨ãããĸã¯ãģãšã§ããĒããããĢããžããããã¸ã§ã¯ããĢæģãŖãã¨ããĢãå¤æ°ãŽäŊŋį¨æšæŗãæ¨æ¸Ŧã§ããããšãĻãŽãŗãŧããããä¸åēĻåŽå ¨ãĢčĒãŋåãåŋ čĻã¯ãããžããã
Byteronã¨dylmeadowsãč¨ãŖããã¨ã2įĒįŽã§ãã åŊŧãã¯ãĄãããŠåŊŧããŽæį¨ŋãååãĢããæ¸ããĻãį§ãčããĻãããã¨ãæŖįĸēãĢč¨ããžããã į§ãŽ2ãģãŗããčŋŊå ããããŖãã ãã§ãã
äŊäēēããŽãĻãŧãļãŧãčåŗãæãŖãĻããããããĢã¤ããĻ芹ãåããããŽã§ãåéããžãã ãžã č¨įģãããĻããžãããããŗããĨãããŖãĢåŧˇãéĸåŋãããããŠãããĢã¤ããĻ芹ãåããįĸēčĒãããã¨ãã§ããžãã
Pythonã¯ãįæŗã¨ããĻč¨åããĻããæéĢãŽč¨čĒã§ã¯ãããžããã
Godotã¯é常ãĢãĒãã¸ã§ã¯ãæåã§ããã¨č¨ãããĻããžãã ããšãĻãŽãšã¯ãĒããããĒãã¸ã§ã¯ãã§ãã ãĒãã¸ã§ã¯ãæåããã°ãŠããŗã°ãŽä¸ģãĒååãŽ1ã¤ã¯ããĢããģãĢåãæäžãããã¨ã§ãã å¤ããæãč§ĻãããĢäŊããããããŽãĒããããã¯ããããæč¯ãŽįįąã§ãã
åäēēįãĢã¯ãäēēã
ãå¤æ°ãįˇ¨éãããéĸæ°ãĢãĸã¯ãģãšããããããŽãįĩļ寞ãĢé˛ã_
īŧãžãã¯_internal_
ãĒãŠīŧãäģããžãã
å¤æ°/éĸæ°ããĒãŧããŗãŗããĒãŧãããé ãã ããŽããŧã¯ãŧãīŧãžãã¯åæ§ãŽããŧã¯ãŧãīŧãĢã¯å寞ããžããã ãĸã¯ãģãšãåŽå ¨ãĢé˛ãåŋ čĻã¯ãĒãã¨æããžãã
ä¸æšã§ã¯ãįĻæĸãããŽã§ã¯ãĒããčĻåããæšãč¯ãã§ãã ãããä¸æšã§ãããŠã¤ããŧãããŖãŧãĢãã¨ãĄãŊããã¯é常äŊåēĻãäŊŋį¨ãããžãã ãžããéˇãå¤æ°åīŧ _internal_variable
īŧã¯å°ãéĸåã§ãã
ããããĢãããããŧã¯ãŧãprivate
ãåå¨ããĻãããããäŊŋį¨ããåŋ
čĻã¯ãããžããã
ã¯ãŠãšãŽããŠã¤ããŧããĄãŗããŧãåŽæ°ãŽãããĒããŽãĢããžãã åæ§ãĢãå¤æ°åãBIG LETTERSãĢč¨čŋ°ããĻãããŽå¤ãå¤æ´ããĒããã¨ãĢåæãããã¨ãã§ããžãã ããããį§ããĄã¯ãããããžãããīŧ ã¤ãžããããŠã¤ããŧãå¤æ°ã¯ãé常ãŽå¤æ°ã¨åŽæ°ãŽã¯ããšã§ãã ããŽå ´åãįšåĨãĒããŧã¯ãŧããå ĨåããĻãŋãžãããīŧ
ã¯ãããĄãŊããåãŽåãĢ_ãäŊŋį¨ããããŠã¤ããŧããŽčĻåããããžãããäģŽæŗéĸæ°ãĢããžãŖããåãčĻåãäŊŋį¨ãããžãã ããããŖãĻããĸãŗããŧãšãŗãĸã襨į¤ēãããå ´åã¯ããããŽæŠčŊãĢč§ĻããĒãã§ãã ãããã¨ããæåŗã§ããå¯čŊæ§ããããžãã ãžãã¯ãããŽéĸæ°ãä¸æ¸ãããĻãã ããīŧãã æŖį´ãĒã¨ãããããã¯åąéēã§ãã
ãããį§ãããã§čĻãĻããæ大ãŽåéĄã§ãã private
ããŧã¯ãŧããŽäģŖãããĢã virtual
ããŧã¯ãŧããäŊŋį¨ã§ããã§ããããã ä¸é¨ãŽäģŽæŗãĄãŊããã¯ããfuncããč¨čŋ°ããã¨ããĢãã§ãĢãĒãŧããŗãŗããĒãŧããĢ襨į¤ēããããããä¸æ¸ãããã¯ããŽäģŽæŗéĸæ°ã¨ãĒãŧããŗãŗããĒãŧããĢ襨į¤ēããããšãã§ã¯ãĒãããŠã¤ããŧãéĸæ°ãæį¤ēįãĢåēåĨããããŧã¯ãŧãã§ååãĒå ´åããããžãã virtual
ããŧã¯ãŧããŽåŠįšã¯ã private
ãããäŊŋį¨é ģåēĻãå°ãĒããããæ¸ãčžŧãŋãå°ãĒããĒããã¨ã§ãã
ããŠã¤ããŧãã¯ãŠãšãŽãĄãŗããŧãåĢãžããĻãããŽãčĻãĻåŦããã§ãã ãããäģãŽč¨čĒãĢåå¨ããįįąããããžãã äģãŽæļč˛ģč /ããŧã ãĄãŗããŧīŧãžãã¯ããĒãčĒčēĢīŧã¯ãããšãĻãŽã¯ãŠãšããŠãŽãããĢæŠčŊããããįĨãåŋ čĻã¯ãããžããã åŽéãåŊŧãã¯ãããããã¨ãĢããå é¨ãĢããã¯ããŽæŠčŊãããããåããĒããˇã§ãŗããæãŖãĻã¯ãããžããã
å é ãŽãĸãŗããŧãšãŗãĸã¯ããããããŠã¤ããŧããĄãŗããŧã§ãããã¨ããį¤ēããåŋ čĻããããã¨ãįč§ŖããĻããžãããåŽéãĢã¯ããããå¤æ´ãããã¨ã§äģäēãåŽäēããããŠããã¯čĒ°ãæ°ãĢããžããã ããã¯ãããŠã°ã¤ãŗã¨ããĻäŊŋį¨ãããå ´åãĢįšãĢčĻįã§ãããčĒ°ããåĨŊããĒãããĢå¤æ´ã§ããžãã äŊæãããĒãã¸ã§ã¯ã/ãšã¯ãĒãããŽįļæ ãåŽå ¨ãĢåļåžĄãããã¨æããžãã čĒ°ããåĨŊããĒã¨ããĢįļæ ãŽããããå´éĸãå¤æ´ã§ãããĒãã¸ã§ã¯ããããã¨ãäģãŽäēēãã¤ãŠã¤ãŠããäģĨä¸ãĢæļč˛ģã§ãããŗãŧããįæãããžãã
ãããĢå ããĻããåŠį¨å¯čŊãĒãå¤æ°/éĸæ°ãŽãĒãšããæ´įãããŽã¯į´ æ´ããããã¨ã§ãã
éįēããŧã ãĢ1ã¤ãŽæ¨åĨ¨ãčĄããã¨ã¯ã§ããžããīŧããã§ã¯ããããããšãĻãčæ ŽããĻãã ããã ãĒãŧããŗãŗããĒãŧããĒãšããŽé åēãå¤æ´ããžãã æåãžãã¯æ°åã§å§ãžããĒãvarãžãã¯funcã¯ããĒãŧããŗãŗããĒãŧããĒãšããŽ__Bottom__ãĢ襨į¤ēãããžãã æŦĄãĢããĸã¤ãã ã襨į¤ēãããĢã¯ã_ãå Ĩåããåŋ čĻããããžãããããĢãååãĢäģãŽéæ°åĻč¨åˇãžãã¯čĢįč¨åˇãäŊŋį¨ã§ããã¨äžŋåŠã§ããīŧ ãžã čŠĻããĻããžããããâŦDisplayãžãã¯ÂĨPrintã¯č¨ąåŽšã§ããéĸæ°åã§ããīŧ NSã
ãããĢãååãĢäģãŽéæ°åĻč¨åˇãžãã¯čĢįč¨åˇãäŊŋį¨ã§ããã°ãããŽã§ã¯ãĒãã§ããããã ãžã čŠĻããĻããžããããâŦDisplayãžãã¯ÂĨPrintã¯č¨ąåŽšã§ããéĸæ°åã§ããīŧ NSã
https://github.com/godotengine/godot/issues/24785ãåį §ããĻ
ããããŖãĻããããããããåããåžãäŊãããĒããģããŋãŧãåŽįžŠããã¨ãåĨãŽãšã¯ãĒããã§åãå¤æ°ãĢæ°ããå¤ãå˛ãåŊãĻãĻå°åˇãããã¨ããĻããå ãŽå¤ã¯æŦĄãŽãããĢãĒãã¨ããįĩčĢãĢéããžãããå°åˇãããžãã ããŠã¤ããŧãã§ã¯ãããžããããååčŋãã¨æããžã...
å
ŦéãããĻãããããĢčĻããå¤æ´ããã°ãããŽå¤æ°ãå¤æ´ãããĻããĒãã¨ããããŗãããžãŖãããĒããã¨ãæåŗããžããīŧ
ããŽãĄãŊãããåēį¯å˛ãĢäŊŋį¨ãããŗãŧããŽãããã°ãæĨŊããã§ãã ããã
įŠēãŽãģããŋãŧãŽäģŖãããĢãã¨ãŠãŧãåēåãããã¨ãã§ããžãã
ããã°ãŠã ãčĩˇåããĻåŽéãĢããŽãŗãŧãčĄãĢå°éããã¨ãåŽčĄããĻã¯ãããĒããã¨ãåŽčĄãããã¨ããããããžããã ãŗãŧããæ¸ããĻããéã¯ãžã å
ŦéãããĻãããããĢčĻããåä¸ãŽããŠã¤ããŧãå¤æ°ãč¨åŽãããĢã¯č¤æ°čĄãŽãŗãŧããåŋ
čĻã§ãã
įŊŽãprivate
ããŽå¤æ°ãŽåãĢã¯éįãããŗãŧããŽčŋŊå ãŽåįˇãåŋ
čĻã¨ãã
GDScriptã¯åįč¨čĒã§ãããĢãããããããį§ãĢã¯ããĒãC ++ãŖãŊãæããããžãã C ++ã§ãŽãŗãŧããŽč¨čŋ°ããGDScriptãĢåãæŋããã¨ãããããŽãĸã¯ãģãšäŋŽéŖžåãå¤ąãããžãã ããã¯č¨ãŖãĻããGDScriptã¯įĸēããĢOOPãŽåŽå ¨ãĒãĩããŧããæŦ ããĻããžãã
į§ã¯ããŽåéĄãããŖã¨čĻãã ãã§ãããååãŽåãĢãĸãŗããŧãšãŗãĸãäģããĻããå ´åã¯ãå°ãĒãã¨ãéĸæ°ã¨å¤æ°ããĒãŧããŗãŗããĒãŧãããé襨į¤ēãĢã§ããã¨äžŋåŠã§ãã ãããĢéĸããéĄčãĒåéĄã¯ããããäģŽæŗéĸæ°ã§ããããŠãããå¤æãããã¨ã§ãããããããŖãĻãããããéĸäŋãĒã襨į¤ēãããã¯ãã§ãã
ãĸãŗããŧãšãŗãĸã¯äģŽæŗéĸæ°ãĢãäŊŋį¨ãããĻãããäģŽæŗéĸæ°ãå Ŧéãããå ´åããããžãã
ãĸãŗããŧãšãŗãĸãåãĢäģããéĸæ°ãäģãŽããŧã/ãĒãã¸ã§ã¯ããããŽãŋé襨į¤ēãĢãããããããžããããčĒåˇą/ããŧãšã§ãŽåŧãŗåēããĢ寞ããĻã¯ãããã襨į¤ēããžãã
į§ãŽææĄã¯ãäģŽæŗéĸæ°ãĢã¯åä¸ãŽãĸãŗããŧãšãŗãĸãäŊŋį¨ãããããŠã¤ããŧããéĸæ°ãĢã¯äēéãŽå čĄãĸãŗããŧãšãŗãĸãäŊŋį¨ãããã¨ã§ãã ããŽãããĢããĻãäģŽæŗéĸæ°ãĢåŊąéŋãä¸ãããã¨ãĒãããĒãŧããŗãŗããĒãŧãããããããé ããã¨ãã§ããžãã
å¤æ°ãŽãĸã¯ãģãš_attribute_ãå¤æ´ããã¨ãã¯ãããŽ_name_ãå¤æ´ããåŋ
čĻãããããããĸãŗããŧãšãŗãĸãäŊŋį¨ããĻå¤æ°ãé襨į¤ēãĢãããŽã¯éŠåã§ã¯ãããžããã åŽéã variable
ã¨_variable
ã¯į°ãĒãååã§ãã
ãããUNIXããĄã¤ãĢåãŽããããŽãããĒããŽã§ããããĒãįŠč°ãé¸ãæąēåŽã§ãã
ãããį§ãŽæčĻã§ã
ä¸č¨ã¯ãã__ãã§å§ãžãå¤æ°ãåĢããŗãŧããåŖããžãã ã§ããããé¤ãã°ãįæŗįãĒãˇãšãã ã ã¨æããžãã
ãããžã§ãŽGDScriptãŽæŠčŊã¯Python / JSã¨é常ãĢããäŧŧãĻãããããããŽč¨čĒã¯ãŠãĄããé常ãĢæŖåŊãĒįįąã§ããŠã¤ããŧãå¤æ°ã¨éĸæ°ãæãŖãĻããžãããããã¯ãč¨č¨å˛åĻã¨ã¯åŽå ¨ãĢæŖå寞ã§ãã ããĒããĢã¯čĒįąããããããŽčĒįąã¯éčĻã§ããããããŗãŧããŖãŗã°ã厚æãĢããããŽã§ãã ããĒãã¯ãĢããģãĢåãį į˛ãĢããžãããããããã¯åŊŧããŽå˛åĻã§ãã įãŽãĢããģãĢåã¯ããŋã¤ããã§ãã¯ãĒãã§ãã§ãĢåŖããĻããžã[ããšãĻãŽãŋã¤ããčĒåã§ãã§ãã¯ããĒãéãããããããã¨ã¯ãĒãã§ããã]ã ããããŖãĻãåŗå¯ãĒåæåŽãåŽčŖ ããĒãéããããŠã¤ããŧãå¤æ°ã¯ééãŖãĻããã¨æããžãã OOPãŽåžé ã§ã¯ãåŗå¯ãĒåäģãã¯ããŠã¤ããŧãå¤æ°ãŽåãĢæĨãžãã åŗå¯ãĒåäģãã¯ãããããŠã¤ããŧãå¤æ°ããĒãč¨čĒã¯ãããããããžãããããŠã¤ããŧãå¤æ°ãããåŗå¯ãĒåäģãããĒãč¨čĒã¯įĨããžããã ããããžããæŖåŊãĒįįąããããžãã ãããĢãJSãäŊŋį¨ããã¨ãįļæŋããĒãŧå ¨äŊãĢãĸã¯ãģãšã§ããããããŽå´éĸãå¤æ´ã§ããžãã ãĒãã¸ã§ã¯ããæã¤äģģæãŽãŗãŧããĢããŖãĻãåŽčĄæãĢãĒãã¸ã§ã¯ããįļæŋããã¯ãŠãšãå¤æ´ã§ããžãã ããĄãããããã¯čĩˇãããžããããããļã¤ãŗå˛åĻãį¤ēããĻããžãã
ããããŖãĻãį§ãŽæčĻã§ã¯ãįãŽããŠã¤ããŧãå¤æ°ã¯č¨čĒãå¤§åš ãĢåĻ¨ããã§ãããã ã¨ãĢãããPythonãŽãˇãšãã ã¯ãããããžãããŖãĻããã¨æããžããããŠã¤ããŧãå¤æ°ãĢãĸã¯ãģãšãããããĢäŊŋį¨ã§ãã__ããããžãããå é¨įãĒããŽããããŖãĻãããã¨ã¯æããã§ãããããã§ãæåŗãŽããåļéã¯ãããžããã įãŽOOPč¨č¨å˛åĻãæãäēēã¯ãåãĢã__ããäŊŋį¨ããããäŧį¤žãããã¸ã§ã¯ããŽãŗãŧããŖãŗã°ãšãŋã¤ãĢã§äŊŋį¨ããããããã¨ã¯ã§ããžããã ããļãããããã¨ãŠãŧã¨ããĻããŧã¯ãããĒããˇã§ãŗãããã§ãããã ã¤ãžããä¸čŦįãĢãããã¯ãŋã¤ããŗã°ã¨ããŠã¤ããŧãå¤æ°ã¯åŽéãĢã¯ä¸įˇãĢãĒããžããã å°ãĒãã¨ããååįŠēéãåŽå ¨ãĢå°įĄããĢãããŽã¯ããhiããããŠã¤ããŧããŽå ´åãobj.setīŧ "hi"ã5īŧãæŠčŊããĒãããã§ãã ããããããããĢãĄã¯ããåå¨ããĒãå ´åã¯æŠčŊããžããīŧ ããã¯ããžãæåŗããããžãã...ã ãããããĒããäŊãããĻãããŠã¤ããŧããĢåŽå ¨ãĢãĸã¯ãģãšã§ããĒããããĢãããã¨ã¯é常ãĢåŧˇããã¨ã§ã¯ãããžããããããį§ãŽæįĨ¨ã§ãã Pythonãįžå¨čĄãŖãĻãããããĢãããŠã¤ããŧãå¤æ°ãåå¨ãããã¨ã¯é常ãĢåŧˇåã§ãã TbhæŦåŊãĢãĸã¯ãģãšã§ããĒãããŠã¤ããŧãå¤æ°ãåŋ čĻã ãŖãã¨ããĻããããŠã¤ããŧãå¤æ°ãäŊŋį¨ããããã¯ãŋã¤ããŗã°ãŽåéĄãč§Ŗæąēããæšæŗããžã ããããžããã obj.setããããã¯ããĻãã¨ãŠãŧããšããŧãããã ãã ã¨æããžãã ããã§ãobj.setã¯ããŧãĢå¤ãčŋãåŋ čĻããããžãããããã¯åĨåĻãĒãã¨ã§ãã is_privateåŧãŗåēãīŧ obj.setãäŊŋį¨ããåãĢåŧãŗåēãåŋ čĻããããžããīŧ idk
[ãããæŦåŊãŽã¨ãããåŽéãŽã¨ãŠãŧæ¤åēãååžã§ããžãããããŠã¤ããŧãå¤æ°ãĢã¤ããĻ芹ããĻããžãããįžæįšã§ã¯ãgdscriptãĢãã°ãããå ´åãã˛ãŧã ã¯ãããéģãŖãĻįĄčĻããžãīŧfacepalmīŧã ããļãį§ã¯ãããééãŖãĻããžãããį§ãŽãŗãŧããäŊããčĄãã¨ãéæŗãĒgdscriptãéĸæ°ããnullãčŋããããĢčĻããčŋŊ补ãé常ãĢéŖãããĒããžããJSã¯ãããžã§ãĢãĒãã˛ãŠããJSã¯č¨čĒãŽæˇˇäšąã§ãã ã˛ãŧã ãŽã¯ãŠããˇãĨãå¤ãããå¯čŊæ§ããããã¨ã¯ãããŖãĻããžããããŗãŧãããŠãã§åŖããããææĄãããããĢãåč ãå°åˇãããåžč ãå°åˇãããĒã2ã¤ãŽéŖįļããprintãšããŧããĄãŗããčĻã¤ãããžã§ãprintãšããŧããĄãŗããé įŊŽããĻãŗãŧãããŧãšããã¤ããĒæ¤į´ĸããåŋ čĻããããžãã JS / Pythonã¯ãäģãŽããšãĻãĢãããĻãŠããģãŠčĒįąã§ãããĢãããããããããŽæåŗã§éŠããģãŠã¯ãããĢåŗæ ŧã§ãã]
åéĄãæå°éãĢæãããããĢãä¸č˛Ģæ§ãŽããããã¸ã§ã¯ãįĩįšãčĻã¤ãããã¨ããå§ãããžãã ãˇãŧãŗãŽãĢãŧãããŧããã¤ãŗãŋãŧãã§ã¤ãšã¨ããĻäŊŋį¨ããĻãå¤é¨ãããˇãŧãŗãåļåžĄããåãšã¯ãĒãããããã¯ã¨ãŗãã¨ããĻäŊŋį¨ã§ããžãã
ãžãã¯ããĄãŊãããŽãŋãäŊŋį¨ããå¤æ°ã¨ãˇã°ããĢãã¨ã¯ãšããŧãããå¤é¨ããåį´ãĒå¤æ°ãĢč§ĻããĒããããĢãããã¨ãã§ããžãã ããã¯åį´ãĒčĻåã§ãããGDScriptã¯ããŽåį´ããįļæã§ããžãã
Pythonã§ãä¸å¯čŊã§ããå é ãĢ2ã¤ãŽãĸãŗããŧãšãŗãĸãäģããĻããå¤æ°ã¸ãŽãĸã¯ãģãšã¨å¤æ´ãåĻ¨ãããããã¨ã¯ãããžããã Pythonã§ã¯ãäģŖãããĢčĻåãäŊŋį¨ããžããå¤æ°ãããŠã¤ããŧãã§ãããã¨ãį¤ēã1ã¤ãŽå é ãŽä¸įˇãåŽæ°ã§ãããã¨ãį¤ēãALL_CAPS ...ãŠãããã§ããĸã¯ãģãšã§ããžãããåŽéãĢã¯åéĄã§ã¯ãããžããã
į§ãč¨ããããŽã¯ãPythonã§_private_åąæ§ãæã¤ãã¨ãå¯čŊã§ããã¨ãããã¨ã§ãã
åŧį¨īŧhttps://www.python.org/dev/peps/pep-0008/īŧīŧ
__double_leading_underscoreīŧã¯ãŠãšåąæ§ãĢååãäģããã¨ããĢãååããŗã°ãĒãŗã°ãåŧãŗåēããžãīŧã¯ãŠãšFooBarå ã§ã¯ã__ booã¯_FooBar__booãĢãĒããžããäģĨä¸ãåį §ããĻãã ããīŧã
__double_leading_and_trailing_underscore__īŧãĻãŧãļãŧãåļåžĄããååįŠēéãĢåå¨ãããéæŗãŽããĒãã¸ã§ã¯ããžãã¯åąæ§ã äžīŧ__ init __ã__ import__ããžãã¯__file__ã ããŽãããĒååãįēæããĒãã§ãã ããã ææ¸åãããĻããã¨ãããĢãŽãŋäŊŋį¨ããĻãã ãã
ããŽãĒãŗã¯ãã¯ãĒãã¯ããĻCTRL + Fã§ãããŠã¤ããŧãããĢããã¨ãæŦĄãŽãããĢ襨į¤ēãããžãã
Pythonã§ã¯åŽéãĢããŠã¤ããŧããĒåąæ§ã¯ãĒããããããã§ã¯ãããŠã¤ããŧããã¨ããį¨čĒãäŊŋį¨ããžããīŧé常ã¯ä¸čĻãĒéãŽäŊæĨãåŋ čĻã§ãīŧã
äēéãĸãŗããŧãšãŗãĸãžãã¯åä¸ãĸãŗããŧãšãŗãĸå¤æ°ã¯ãé常ãŽå¤æ°ã¨åããããĢæŠčŊããžãããããã¯äŊŋį¨ããĒãã§ãã ããããŠã¤ããŠãĒãæ´æ°ããã¨å é¨å¤æ°ã§ãããããå¤æ´ãããå¯čŊæ§ããããã¨ãåį §ãããããŽæ Ŗäžã§ãã ä¸čŦãĢãGDScriptãŽãããĒPythonč¨čĒã¯ãĒãã¸ã§ã¯ããåãĒãčžæ¸ã§ããããŽãããĢæąããããããŠã¤ããŧãå¤æ°ãåŧˇåļããĻååįŠēéãæļč˛ģããããŽã¯åäģã§ãã
ããŽãĒãŗã¯ãã¯ãĒãã¯ããĻCTRL + Fã§ãããŠã¤ããŧãããĢããã¨ãæŦĄãŽãããĢ襨į¤ēãããžãã
Pythonã§ã¯åŽéãĢããŠã¤ããŧããĒåąæ§ã¯ãĒããããããã§ã¯ãããŠã¤ããŧããã¨ããį¨čĒãäŊŋį¨ããžããīŧé常ã¯ä¸čĻãĒéãŽäŊæĨãåŋ čĻã§ãīŧã
äēéãĸãŗããŧãšãŗãĸãžãã¯åä¸ãĸãŗããŧãšãŗãĸå¤æ°ã¯ãé常ãŽå¤æ°ã¨åããããĢæŠčŊããžãããããã¯äŊŋį¨ããĒãã§ãã ããããŠã¤ããŠãĒãæ´æ°ããã¨å é¨å¤æ°ã§ãããããå¤æ´ãããå¯čŊæ§ããããã¨ãåį §ãããããŽæ Ŗäžã§ãã ä¸čŦãĢãGDScriptãŽãããĒPythonč¨čĒã¯ãĒãã¸ã§ã¯ããåãĒãčžæ¸ã§ããããŽãããĢæąããããããŠã¤ããŧãå¤æ°ãåŧˇåļããĻååįŠēéãæļč˛ģããããŽã¯åäģã§ãã
į§ã¯åæããžããåŊŧãã¯ããã_private_åąæ§ã¨ã¯åŧãŗãžããã ãã ããããŽäģįĩãŋãĢã¤ããĻčĒŦæããžãã
# defining class Employee
class Employee:
def __init__(self, name, salary):
self.name = name
self.__salary = salary
>>> emp = Employee("Bill", 10000)
>>> emp.__salary
# AttributeError: 'employee' object has no attribute '__salary'
ããããŖãĻã_private_åąæ§ã¨ã¯åŧã°ããžãããããģã¨ããŠåããããĢåäŊããžãã
PythonãĢåå¨ãããŽã§ãGDScriptãĢãģãŧããŠã¤ããŧããĒåąæ§ãããã¨äžŋåŠã§ãã
ãããããį§ã¯ããĒããĢåŧˇãåæããžãã Pythonã¯ã._ Employee__salaryãäŊŋį¨ãããããŽãˇãŗãŋãã¯ãšãˇãĨãŦãŧãæäžããĻããã ãã§ãã į§ã¯åäēēįãĢPythonãŽããæšãåĨŊãã§ã¯ãĒãããŗãĄãŗãã§čŋ°ãšããããĢãGodotã§å¤§åš ãĢæšåã§ããã¨æããžãã
class Employee:
var name # normal
private var salary # Syntactic sugar for var _salary
_Employee__salaryã¯å¤æ°åãé ããããŽéãæšæŗã§ãããããŠã¤ããŧãããŧã¯ãŧããäŊŋį¨ããã¨ãé常ãŽOOPã¨åããããĢãĒããããããã¯ããã¯ãĒãŧãŗã§ãã ãããĢč¯ããã¨ãĢãããã¯ãããĒãã¯å¤æ°salaryã¨ããŠã¤ããŧãå¤æ°_salaryãæã¤æŠčŊããããã¯ããžããããã¯éããJavaãŽå ´åã¨åããããĢæ§æã¨ãŠãŧãĢãĒããã¨ãæãžããã§ãã ããã¯ã严æšããvarsalaryãã¨ãprivatevarsalaryãã¨åŽŖč¨ãããããã§ããããã¯æãããĒįįžã§ãã åĨãŽčãæšã¨ããĻãããĄãŗããŧmãæã¤äģãŽã¯ãŠãšCãŽããŠã¤ããŧãå¤æ°ãĢãĸã¯ãģãšãããĢã¯ãC._mãŽãããĢãĸãŗããŧãšãŗãĸãäŊŋį¨ããåŋ čĻããããžããã¨ããããŽããããžãã æŦĄãĢããĸãŗããŧãšãŗãĸã§å§ãžãå¤æ°ãŽåŽŖč¨ãã¨ãŠãŧãĢããå¯čŊæ§ããããžããã¤ãžããå¤æ°ãåŽŖč¨ããå¯ä¸ãŽæšæŗãããŠã¤ããŧããĢããĻãäŊãčĄãããĻãããŽããæįĸēãĢãĒããããĢããžãã
PythonãŽįļæŗãæãžããã¨ã¯č¨ããĒãå¯ä¸ãŽįįąã¯ãå¤æ°ãŽä¸é¨ãĢåŽŖč¨ããĒããéĸæ°æŦäŊãŽããããã§ã¯ãŠãšå¤æ°ãæ§æããĻããããã ã¨æããžãã GDScriptã¯ã¯ãŠãšæŦäŊã§åŽŖč¨ãåŋ čĻã¨ããĻããããã§ãJavaãŽãããĒããŠã¤ããŧãåŽŖč¨ãį°ĄåãĢįč§Ŗã§ããžãã
å¤ããŽå
Ĩåãį¯į´ããĒãéãããˇãŗãŋãã¯ãšãˇãĨãŦãŧã¨ããĻæŠčŊããããŧã¯ãŧããäŊŋį¨ãããŽã¯åĨŊãã§ã¯ãããžããã ããã§ã private
ã¨å
Ĩåããã¨ãåŽéãĢã¯ããå¤ããŽæåãæ¸ãčžŧããã¨ãã§ããããããˇã§ãŧããĢãããĢãĒããžãīŧslightly_smiling_faceīŧ
ãžãããĄãŊããã¯ãŠãã§ããīŧ ããã¤ããŽäģŽæŗãĄãŊããã¯ãĸãŗããŧãšãŗãĸã§å§ãžããããåä¸ãŽãĸãŗããŧãšãŗãĸãäŊŋį¨ããĻããããããŠã¤ããŧãã¨ããĻããŧã¯ãããã¨ã¯ã§ããžããã ãã ãã2ã¤ãŽãĸãŗããŧãšãŗãĸãäŊŋį¨ãããã¨ãã§ããžãããããĢãããéˇããĒãã¨ããį į˛ãæãŖãĻįĢļåãåéŋã§ããžãã ãžããįãĢããĒãŖãĻããå ´åã¯PythonãŽčĻåãĢåžãã¨ãããĸã¤ããĸãæ°ãĢå ĨãŖãĻããžãããããŗããŧãã¯ãããŽč¨čĒã§ãã°ãããŽéäēēæ°ããããžããã
ãˇã§ãŧããĢããã¨ããĻ襨į¤ēãããã¨ãæåŗããĻããã¨ã¯æããžãããäģŖãããĢãã¯ãŠãšãŽå¤é¨ã§ã_ããäŊŋį¨ããĻããŠã¤ããŧãå¤æ°ãĢãĸã¯ãģãšããã¨ããčãæšã§ãã ãˇãŗãŋãã¯ãšãˇãĨãŦãŧã¯ãããŽåŽčŖ æšæŗãĢãĒããžãã PythonãŽããæšã¨æŦčŗĒįãĢåãã§ãã ããããããã§ããããã¯æŦåŊã§ããPythonãŽå ´åãæ§æãˇãĨãŦãŧã¯å¤ããŽå Ĩåãį¯į´ããžãããããã¯ãããæããĒéˇãããŽãĢã¨ã¤ãĒãĸãšããããã§ãã įãããŽãĢã¨ã¤ãĒãĸãˇãŗã°ããæšãåŗå¯ãĢåĒããĻãããããã¨ã¤ãĒãĸãšãįãããĻãã¨ã¤ãĒãĸãšãįããããããĢããŽæ§æãŽįŗčĄŖæ§æãäŊŋį¨ããĒããã¨ãé¸æããã¨ãããŠã¤ããŧãå¤æ°ããĩããŧãããåŋ čĻãããããŠãããĢãĒããžãã åŋ ãããããããåŋ čĻã¯ãããžããããĻãŧãļãŧãĢå¤æ°ãŽåãĢãĸãŗããŧãšãŗãĸãäģããããįŦčĒãŽčĻåãé¸æããã ãã§ãã ããã¯ãJavaã¨C ++ãĢéĸåŋãŽããäēēã ãŽãããŽããŽã§ãããã_ myvariableããæ Ŗäžã¨ããĻããŠã¤ããŧãã¨ããĻäŊŋį¨ãããŽã§ã¯ãĒãããprivate var myvariableãã¨č¨čŋ°ããžããããã¯ãOOPãŽä¸įããæĨãã¨ããĢã严æšãæŖįĸēãĢéæããã¨ããĻããåĨåĻãĢæããžããåããã¨ã äēéãĸãŗããŧãšãŗãĸã¯PythonãŽæ§æã¨é常ãĢããä¸č´ãããŽã§ãįšãĢ_ãäģãŽããŽã¨įĢļåããå ´åã¯ãį§ãããŽæ§æãĢčŗæã§ãã
ãããããšãŋã¤ãĢãŽčĻåã¨ããĻãŽãŋčĒ¤č§Ŗãããå¯čŊæ§ãŽããããŽäģĨå¤ãŽåäŊãæį¤ēįãĢåŽįžŠããããŧã¯ãŧããåŋ
čĻã§ãã private
ãį§ãŽįĨ¨ãį˛åžããžãã
č°čĢãĢįĢãã¤ããīŧãããŠã¤ããŧãããĄãŗããŧãŽPythonãšãŋã¤ãĒãŗã°čĻåã¯ãååãŽåãĢãĸãŗããŧãšãŗãĸãčŋŊå ãããã¨ã§ããããã¯ã _ready()
ã _input
ãĒãŠãŽä¸čŦįãĒã¤ããŗããĄãŊããã§åĨãŽįŽįã§gdscriptãĢããŖãĻ_ãã§ãĢ_äŊŋį¨ãããĻããžããããã¤ã_input
ããããŗ_physics_process
ã§ãã ãããã¯ããŠã¤ããŧããĢãĒãŖãĻããžããīŧ ããŠã¤ããŧãããŧã¯ãŧããčŋŊå ããã¨ãããããŽãĄãŊããã¨ãŠãŽãããĢį¸äēäŊį¨ããžããīŧ protected
ãããĒäģãŽããŧã¯ãŧããåŽčŖ
ããåŋ
čĻããããžããīŧ
ããããĢãããį§ã¯ããšãĻããĻãŧãļãŧãĢčĻåãåŽįžŠããããŽã§ã¯ãĒãã_č¨č¨ãĢããŖãĻ_åļéįãĒããŖãŦã¯ããŖããéŠį¨ãããã¨ãĢå°åŋĩããĻããžãã ããããåŽčŖ ãŽč¤éããčããã¨ãããŠã¤ããŧãã¯ãŠãšãŽãĄãŗããŧãæåŗããæšåãæäžããããŠããã¯ããããžããã APIå ¨äŊãåæ¤č¨ããåŋ čĻãããã¨æããžãã č¨čĒå ¨äŊã¯åŽå ¨ãĢį°ãĒãããŠãã¤ã ãæãŖãĻããã§ãããã
ãããčĒ°ãããã§ãĢãããææããžããã īŧCalinouãŽåŋįãåį §ããĻãã ããīŧäēéä¸įˇãé˛ããšãéã§ãã Pythonã¨åãã§ãã
į§ãŽ2cã Pythonã§ã¯ã _
ã§å§ãžãã¯ãŠãšãĄãŗããŧã¸ãŽãĸã¯ãģãšãåĻ¨ããããŽã¯ãĒãã __
ãĢéĸããå
é¨įĨčãåŋ
čĻã§ãã
ããã¯ããšãĻæåŗãį¤ēããã¨ã§ãã å˛åĻã¯ãį§ããĄå ¨åĄã大äēēã§ãããããããããŠã¤ããŧããĒå¤æ°ãžãã¯éĸæ°ãĢæŦåŊãĢãĸã¯ãģãšããåŋ čĻãããããŠãããå¤æã§ããã¨ãããã¨ã§ãã ãããĻãããããå ´åãį§ããĄã¯čĒåããĄã§įĩæãĢ寞åĻããåŋ čĻããããžãã
@sanchopanca
__
ãäŊŋããŽãåĨŊãã¨ããããã§ã¯ãããžãããį§ã¯private
ããŧã¯ãŧããäŊŋį¨ããĻããžãããäēææ§ãæãĒããã¨ã¯ãããžããã
äģŖãããĢã _
ãäŊŋį¨ããĻfunc
ã¨var
éå
ŦéãĢããã¨ãäģãŽįįąã§ãããäŊŋį¨ããã¨ãããã¤ããŽįšã§įļæŗãå¤ãããžãīŧ _
ã¯éĸæ°ãŽããŠãĄãŧãŋãŧã§ãŽãŋäŊŋį¨ããžãīŧ īŧã
ããã¯ãæ°ããéįåäģãæŠčŊãæãåēãããžããããŽããŠã¤ããŧãæŠčŊã¨äģŽæŗæŠčŊã¯åããããĢæŠčŊããžãã
ããã¯ããæįĸēãĒãŗãŧãããŧãšãæäžããããč¯ãã¨ãŠãŧæ¤åēãããč¯ããĒãŧããŗãŗããĒãŧãããããĻãŗãŧããŽčĒåææ¸åãæäžããžãã
čĒ°ããããĒããŽãŗãŧããčĒãã ããåŊŧãã¯ãããäŊããããŽããããããįč§Ŗããã§ãããã
éįēããŧã ãĢã¨ãŖãĻã2ã¤ãŽæ°ããããŧã¯ãŧããåŽčŖ
ãããŽã¯ãŠããģãŠéŖãããŽã ãããã¨æããžãã
įĸēããĢãŋã¤ããŗã°ãˇãšãã ãããã¯ãããĢį°Ąåã§ãå¤ããŽäžĄå¤ãæäžããžãã
éįēããŧã ãŽčĒ°ããį§ãĢäŊãããšãããĢã¤ããĻãŽæéãä¸ãããã¨ãã§ããã°ãį§ã¯æŖį´ãĢãĒããŽãæäŧãŖãĻåãã§ããžãīŧ
ããŠã¤ããŧãããŧã¯ãŧãã¨äŋčˇãããããŧã¯ãŧããčŋŊå ãããããŽæįĨ¨ããã1ã¤čŋŊå ããã ãã§ãã
äģãŽéįēč
ãäŊŋį¨ãããŗãŧããæ¸ãããã¨ãããã°ããããĢå寞ãããã¨ã¯ã§ããžããã
ããŧã¯ãŧããčŋŊå ãããã¨ãĢ寞ããĻããšãĻãããŽãããã¯ããã§ãã¯ãããã¨ãã§ããžãīŧ
https://softwareengineering.stackexchange.com/questions/143736/why-do-we-need-private-variables
åŧãįļãGDscriptãäŊŋį¨ããžãããããŽéį¨ã§GDscriptãæšåããĻãŋãžãããã
_ã__ã___ãĒãŠã¯ããŋã¤ããææĄãããããĢå¤æ°åãĢããŦããŖãã¯ãšãčŋŊå ãããŽã¨åããããæãã§ãã
intAgeãstrNameãbIsAlive ...ãããã¯ããšãĻãæŦ čŊããĻããč¨čĒæŠčŊãŽãŋãį¤ēããĻããžãã
ããããŖãĻãGDScriptãPythonãäģãŽč¨čĒã¨æ¯čŧããĒããĻããéįēč
ã¯ããŧãĒãŗã°ãåŽčĄããĻãããã2ã¤ãŽããŧã¯ãŧããåŋ
čĻããŠãããįĸēčĒã§ããžã;īŧ
ããŽæŠčŊãåŽčŖ ãããĻããå ´åã¯ãC ++ãŽæšæŗãé¸æããããã¨ãéĄãŖãĻããžãã ããšãĻãŽåŽŖč¨ãŽåãĢãããprivateããžãã¯ãpublicãããŧã¯ãŧãã¯ãCīŧãčĒãŋãĢããããžãã
į§ã¯åäēēįãĢC ++ãŽæšæŗãåĨŊãŋãžããããĒããĒããC ++ãŽå Ĩåæ§æããĒãããããŠãĢãã§ããšãĻãå Ŧéãããããã§ãã į§ã¯ãprivateããŧã¯ãŧããããžã襨į¤ēãããĒãäģĨä¸ãĢãåĨãŽčĄãčŋŊå ããããæ°ããčĄãĢį§ģåããããããĢå¤æ°ãprivateãĢč¨åŽã§ããå¤ãæãŖãĻããžãã
private var foo : String = "foobar"
ã¯ãæĸåãŽexport
ãããŗonready
ããŧã¯ãŧããŽäŊŋį¨æŗã¨ãä¸č´ããĻããžãã
æŠčŊãŽææĄãGodotãŽææĄãĒãã¸ããĒã§čŋŊ补ããããããĢãĒãŖãããã httpsīŧ//github.com/godotengine/godot-proposals/issues/641ãåĒå ããĻįĩäēããžãã
æãåčãĢãĒããŗãĄãŗã
į§ã¯ããããã§ãĢéããããĻãĸãŧãĢã¤ããããĻãããã¨ãįĨãŖãĻããžãīŧãããĢã¤ããĻåĨãŽåéĄãéããããšãããŠããã¯ããããžããīŧãããĸã¯ãģãšäŋŽéŖžåã¯ãŠãŽããã°ãŠããŗã°č¨čĒã§ãé常ãĢéčĻãĒæŠčŊã§ãã Godotį¨ãŽæ°ããããŧããĸããĒãŗãäŊæãããã¨ããĢãæ°ããããŧããĢããŧããŽå¤é¨ã§å¤æ´ããĻã¯ãĒããĒãå é¨įļæ å¤æ°ãããå ´åããããåĻ¨ããããŽã¯äŊããããžããã ããŽæŠčŊãæ¨ĄåŖãããããĢå é ãŽä¸įˇãäŊŋį¨ã§ãããã¨ãįč§ŖããĻããžãããããã§ããĸã¯ãģãšäŋŽéŖžåå ¨äŊã§ãããĸã¯ãģãšãåĻ¨ãããã¨ã¯ãããžããã į§ãŽæčĻã§ã¯ãäģãŽäēēãããĒããŽãĒãã¸ã§ã¯ãã¨į¸äēäŊį¨ããæšæŗãåļåžĄããæšæŗããĒããŽã§ãããã¯ããĒã大ããĒåéĄã§ãã