[[そら痞スクリプトの车妥>SoraMame.ps.js]]′Syntax & Style #title(矢恕と今き数 - 泣塑胳っぽいプログラミング咐胳 そら痞スクリプト) 附哼のそら痞スクリプト(SoraMame.ps.js)は、プログラムをProcessing.jsに恃垂して悸乖します。 #contents ''[[コマンドリファレンス:https://github.com/ycatch/SoraMame.ps.js/wiki]]''は、こちらにあります。 *肩な怠墙 [#i25dde6c] -Webブラウザで瓢侯するビジュアルデザイン脱のプログラミング咐胳 -承えやすい词帽な矢恕 -オブジェクト回羹をサポ〖ト -WebGLによる3D山绩 *矢机の硷梧 [#o35dd873] そら痞スクリプトでは、コ〖ドを今くための矢机を肌のように尸梧しています。 **锦混 [#u3a8caf6] 笆布の矢机は、锦混として泼侍胺いします。 と、に、を、の、で は とくに、≈は∽はデ〖タ房の离咐に蝗います。 これらの矢机は、恃眶叹や簇眶叹に蝗脱できません。 **粕爬 [#b4101ac8] ≈、∽(链逞-粕爬)は、オブジェクトのメソッド钙び叫しに蝗います。 **眶机 [#ubb72e2b] ***10渴山淡 [#d01fc0f3] 124 , 3.14 , -2.3 -染逞眶机 -链逞眶机 -".""ˉ"で井眶爬笆布を山附します ***16渴山淡 [#r281f0ae] カラ〖房のデ〖タなどを16渴山淡で淡揭できます。 #FF00 , #2234 -黎片は≈#∽ -眶猛は、0-9, a-f, A-F -すべて染逞 **淡规 [#wfe44cfc] 肌の淡规は、そら痞スクリプトで泼侍な舔充を积っています。 = + - * / % ^ ( ) [ ] { } . , : @ ! & | < > # ♂ ≤ ≥ ∵ ■ ∴ 】 ◇ “∈ ∷ ∥ ∠ ⌒ ⊙ ˉ 。 ¨ △ — □ ∶ ° ′ ≈∽∝≠ ◆ これ笆嘲の淡规は、ふつうの矢机として极统に网脱できます。 ≈、∽(链逞-粕爬)は、泼侍な淡规として胺っています。 **矢机误 [#df74be83] 矢机误(もじれつ)とは、プログラム面の矢机によるデ〖タのことです。 矢机误は、肌の2つのどちらかのカッコのペアで、はさみます。 -≈ × ∽ -∝ × ≠ *答塑弄なこと [#x7a0565f] **矢琐 [#za44d8e4] 矢琐は、肌のどちらかで冉们します。 - 猖乖 - 。∈剁爬∷ **咐驼と咐驼の惰磊り [#r0af330a] 泣塑胳では、ほとんどの眷圭、咐驼と咐驼の粗に鄂球をおきません。 そのために、プログラムとして咐驼の冉侍が岂しくなっています。 そこで、そら痞スクリプトでは、矢面の咐驼の惰磊りを、 ≈锦混∽、≈眶机∽、≈淡规∽、≈矢机误∽で冉侍します。 **恃眶叹と炭吾胳叹(簇眶ˇメソッド)に蝗える矢机 [#r4fe7289] 链逞矢机と染逞矢机のほとんど。 ただし、笆布をのぞきます -锦混 -淡规 -もともと判峡貉みの恃眶叹と簇眶叹 -眶机(1矢机誊のみ) とくに、呵介の1矢机に眶机は蝗えません。 *矢恕1 - デ〖タ [#t0cbd238] **恃眶の叹涟 [#t90dbc9c] 恃眶は、叹涟の涟に'@'を淡揭します。 @マウスX @升 @爬眶 @のあとには、泣塑胳や毖胳をそのまま蝗えます。2矢机誊笆惯には眶机も蝗えます。 **年眶とキ〖ワ〖ド [#c785989b] 猛が恃步しないデ〖タは、年眶にします。また、システム惧で回年が涩妥な帽胳や年眶は、キ〖ワ〖ドとなります。 年眶とキ〖ワ〖ドは、叹涟の涟に'$'を淡揭します。 $P3D $PI @のあとには、泣塑胳や毖胳をそのまま蝗えます。2矢机誊笆惯には眶机も蝗えます。 **デ〖タ房 [#dde290e1] 恃眶叹のあとには、肌のように锦混(は)で、デ〖タ房を离咐できます。 @爬眶は腊眶房 @メッセ〖ジは矢机房 恃眶叹のデ〖タ房を回年した木稿に、介袋猛を洛掐することもできます。 @爬眶は腊眶房 = 0 @メッセ〖ジは矢机房 =≈あ∽ **答塑デ〖タ房 [#o7821aa7] 肌のデ〖タ房は、答塑デ〖タ房としてデ〖タ房の离咐なしで网脱できます。 腊眶房 悸眶房 矢机房 赖容房 カラ〖房 **寥み哈みデ〖タ房 [#x2f97ca5] ≈寥み哈みデ〖タ房∽とは、より光刨な怠墙をもったデ〖タ房で、答塑デ〖タ房と警し蝗い数が般います。 ≈寥み哈みデ〖タ房∽は、ひとつのデ〖タ房で剩眶の猛をまとめたり、猛に滦する泼侍な怠墙や拎侯(メソッド)を洒えています(オブジェクト回羹の寥み哈みオブジェクトに陵碰します)。 このようなデ〖タ房を蝗うには、恃眶叹のあとには、肌のように锦混(は)で、デ〖タ房を离咐します。 ここは、黎ほどと票じ。 @vはPベクトル房 恃眶叹に、介袋猛を掐蜗するには、肌のように≈糠しい∽炭吾を蝗います。 @vはPベクトル房 @v = 糠しい{x:10, y:20, z:40}のPベクトル房 これは、肌のようにひとつにまとめることもできます。 @vはPベクトル房 = 糠しい{x:10, y:20, z:40}のPベクトル房 改」の猛は、肌のようにして网脱できます。 @vの@x = 100 また、デ〖タ房に滦する泼侍な拎侯は、肌のように钙び叫します。 @v、{x:100, y:200, z:400}で肋年する @v、{x:100, y:200, z:400}に肋年する **芹误 [#n27270a3] 芹误は、剩眶のデ〖タを戎规をつけて胺う怠墙です。 肌のように、淡揭します。 @プレイヤ〖[1] = 7 @プレイヤ〖[2] = 34 @プレイヤ〖[3] = 240 芹误を蝗うには、肌のように离咐します。 @(芹误叹)は(デ〖タ房)[] あらかじめ芹误の改眶を离咐したい眷圭には、肌のように今きます。 @(芹误叹)は(デ〖タ房)[] = 糠しい(デ〖タ房)[(改眶)] ちょっと泼侍な今き数ですが、黎ほどの寥み哈みデ〖タ房や、あとで叫てくる迫极デ〖タ房と票じスタイルになっています。 *矢恕2 - 及 [#c489f66e] とりあえず、眶及、侠妄及(掘凤及)が蝗えます。 拒しくは、[[SoraMame.ps.js/Reference]]の≈换窖淡规∽≈孺秤淡规∽≈侠妄遍换淡规∽を徊救ください。 *矢恕3 - 菇矢 [#w8fe0eb3] **コメント矢 [#bf8e2a82] 黎片また矢面に、≈//∽を今くと、笆惯はコメント矢になり、プログラムの悸乖箕に痰浑されます。 //これ笆惯は、コメント矢 ブロックコメントは、洁洒面。 **悸乖矢 [#u4f227ad] 悸乖矢は、苞眶の事びに鲁いて、炭吾胳をおきます。 毋 {升:250, 光さ:250}のサイズ {x:マウスX, y:マウスY}に{升:10, 光さ:10}のマル この毋で炭吾胳にあたるのは、≈サイズ∽≈マル∽です。 **苞眶 [#i0ecfd6a] 苞眶は、≈苞眶叹∽と≈猛∽の2つを寥み圭わせ、それを≈{}∽で跋んで、锦混でつなぎます。 -{苞眶叹:猛,ˇˇˇ} -肌の4つの锦混∈と、に、を、の、で∷ 苞眶は、淡揭した界戎に(悸は)巴赂します。 苞眶叹と锦混の硷梧ˇ界戎は、痰浑されます。 さきほどの毋で、苞眶にあたるのは {升:250, 光さ:250}の {x:マウスX, y:マウスY}に{升:10, 光さ:10}の です。 **洛掐矢 [#ude26feb] 肌のように淡揭して、洛掐黎の恃眶に、洛掐傅の猛を掐れます。 (洛掐黎) = (洛掐傅) @爬眶 = 0 洛掐傅には及(眶及、侠妄及)を网脱できます。 @爬眶 = 3 + 2 デ〖タ房のところで棱汤したように、デ〖タ房の离咐に鲁いて、介袋猛を洛掐することもできます。 @爬眶は腊眶房 = 0 @メッセ〖ジは矢机房 =≈あ∽ 寥み哈みデ〖タ房のところで棱汤したように、≈糠しい∽炭吾とセットで蝗うこともできます。 @vはPベクトル房 = 糠しい{x:10, y:20, z:40}のPベクトル房 また、洛掐遍换灰も蝗えます。 @爬眶 += 10 拒しくは、[[SoraMame.ps.js/Reference]]の≈洛掐淡规∽を徊救ください。 **もし矢 [#e6a199fb] 肌の2つの今き数があります。 もし{掘凤:掘凤及}ならば {//ここを悸乖} もし{掘凤:掘凤及}ならば {//ここを悸乖} ちがえば {//ここを悸乖} 掘凤及については、[[SoraMame.ps.js/Reference]]の≈孺秤淡规∽≈侠妄遍换淡规∽を徊救ください。 **くり手し矢 [#s4c64c94] 回年した猛から回年した掘凤まで、借妄をくり手します。 肌のように今きます。 {倡幌:@iは腊眶房 = 0 , 掘凤:@i < 100 ,恃步:@i += 1}のくりかえし{ {x:@i, y:@i}に{升:30, 光さ:30}のマル } **あいだ矢 [#c65950af] 泼年の掘凤の粗、借妄をくり手します。 肌のように今きます。 @yは腊眶房 = 0 {掘凤:@y < @光さ}のあいだ{ {x:50, y:@y}に{升:30, 光さ:30}のマル @y += 20 } *极尸なりの炭吾胳を纳裁する [#o1be27f7] 极尸なりの炭吾胳を年盗しておくと、ほかの眷疥から极统に钙び叫すことができます。 泼年の借妄をまとめておいたり、プログラムを尸かりやすくするために蝗います。 **炭吾胳の年盗 [#oa4acea5] 炭吾胳を年盗すると、簇眶やメソッドとして网脱できます。 また、≈介袋肋年する∽や≈くり手し闪茶する∽のように、あらかじめ疯められた炭吾胳をプログラム面で年盗すると、プログラムの悸乖茨董から钙び叫される眷圭もあります。 炭吾胳の年盗には、肌の4硷梧の今き数があります。 ---(炭吾胳叹){//ここを悸乖} ---(炭吾胳叹)は(提り猛デ〖タ房){//ここを悸乖} ---{苞眶叹1:猛1, ...}(锦混){苞眶叹2:猛2, ...}(锦混)(炭吾胳叹){//ここを悸乖} ---{苞眶叹1:猛1, ...}(锦混){苞眶叹2:猛2, ...}(锦混)(炭吾胳叹)は(デ〖タ房){//ここを悸乖} 呵稿の(提り猛デ〖タ房)を回年している眷圭は、提り猛のデ〖タ房を回年します。 提り猛なしの眷圭は臼维します(void)。 笆布、サンプル ---悸乖する{ //ここを悸乖 } ---悸乖するは腊眶房{ //ここを悸乖 {提り猛:100}でもどる } ---{苞眶:@xは腊眶房}で悸乖する{ //ここを悸乖 } ---{苞眶:@xは腊眶房}で悸乖するは悸眶房{ //ここを悸乖 {提り猛:10.2}でもどる } *房(クラス)の网脱 [#kced5ffa] ≈房∽は、极尸なりのデ〖タ房を侯喇する怠墙です。ひとつの房に剩眶のデ〖タをまとめたり、デ〖タと炭吾を寥み圭わせておくことができます。侯喇した房は、デ〖タ房と票じように蝗うことができます。 **房の年盗 [#gea86f21] 肌のように今きます。 ===(房叹) { //ここに房年盗を今く (房が积つデ〖タ) +++(介袋炭吾){ } ---(迫极炭吾){ } } 介袋炭吾は、その房をもったデ〖タを侯るとき、呵介に钙び叫す炭吾です。房叹と票じ叹涟にします。苞眶を回年でき、提り猛は臼维します。 迫极炭吾は、そのデ〖タ房の漓脱炭吾です(オブジェクト回羹のメソッドにあたります)。さきほど棱汤した、迫极炭吾の年盗と今き数は票じです。 **房の网脱 [#wf1c3700] 年盗した房を网脱するには、まず房を洛掐する恃眶を年盗します。それから≈糠しい∽炭吾といっしょに钙び叫して、恃眶に洛掐します。このとき、苞眶を回年して介袋猛を洛掐できます。介袋炭吾と房叹は票じ叹涟になっています。 @(恃眶叹)は(房叹) @(恃眶叹)=糠しい(介袋炭吾) #≈糠しく∽も蝗えます 房が积つ迫极炭吾を钙び叫すには、肌のようにします。 @(恃眶叹)、(迫极炭吾) @(恃眶叹)、(苞眶)(迫极炭吾) 房が积つ迫极デ〖タを钙び叫すには、肌のようにします。 @(恃眶叹)の@(迫极デ〖タ) *Processing.jsのメソッドやプロパティを纳裁する数恕 [#da74414f] そら痞スクリプト(soramame.ps.js)は、泣塑胳っぽいコ〖ドをProcessing.jsのコ〖ドに恃垂して悸乖します。~ そら痞スクリプトの炭吾や茨董恃眶を、Processing.jsのどのメソッドやプロパティに滦炳烧けるかは、あらかじめ肋年してあります。~ この肋年を纳裁することで、糠しい炭吾や恃眶をサポ〖トできます。 **肋年ファイル [#ee4a55fd] 肋年を纳裁するには、≈lib_command.js∽ファイルを试礁します。~ 布淡は、≈lib_command.js∽の办婶です。 //恃垂铬输デ〖タ - 炭吾 //傅デ〖タ ¨ 恃垂黎デ〖タ this.commands = { //Structure サイズ : 'size', 介袋肋年する : 'setup', くり手し闪茶する : 'draw', もどる : 'return', このファイルに、肌のような妨及で、恃垂涟の帽胳(そら痞)と恃垂稿の帽胳(Processing)を滦炳烧けます。~ 琐萨の≈,∽(コンマ)を撕れないようにしましょう。 (そら痞) : '(Processing)', **ファイル恃构稿にやること [#k2f3cc4c] このファイルを今き垂えたら、Webブラウザをリロ〖ドするだけ **肋年ファイルの柒推 [#id28b1e5] ≈lib_command.js∽には、肌の4つの硷梧を淡揭できます。 ***炭吾 [#z4837f1c] 炭吾胳をメソッドに恃垂します。~ 苞眶を积つことができます。 -毋¨ テン : 'point', -毋¨ セン: 'line', ***茨董恃眶ˇ年眶 [#w2e88719] 茨董恃眶や年眶叹に恃垂します。~ そら痞スクリプトのコ〖ド柒で淡揭するときには、 茨董恃眶には黎片に≈@∽を烧けます。 -毋¨ 升 : 'width', -毋¨ 光さ : 'height', -毋¨ マウスX : 'mouseX', -毋¨ マウスY : 'mouseY', 年眶には黎片に≈$∽を烧けます。 -毋¨ PI : 'PI', -毋¨ HALF_PI : 'HALF_PI', ***デ〖タ房叹(答塑デ〖タ房と寥み哈みデ〖タ房) [#j01e7297] デ〖タ房叹やクラス叹に恃垂します。~ そら痞スクリプトのコ〖ド柒で淡揭するときには、~ ≈恃眶叹は(デ〖タ房叹)∽と淡揭します。 -毋¨ 腊眶房 : 'int', -毋¨ 悸眶房 : 'float', -毋¨ Pイメ〖ジ房 : 'PImage', -毋¨ Pベクトル房 : 'PVector', -毋¨ Pフォント房 : 'PFont', ***プロパティ叹ˇメソッド叹 [#x3647f41] 泼年のクラスに掳するプロパティ叹ˇメソッド叹に恃垂します。~ そら痞スクリプト娄は、掳するクラス叹(恃垂稿)と、プロパティ叹ˇメソッド叹(恃垂涟)を~ "_"(アンダ〖バ〖)でつなぎます。 -毋¨ PVector_x : 'x', -毋¨ PVector_y : 'y', -毋¨ PVector_z : 'z', -毋¨ PVector_艰りだし : 'get', -毋¨ PVector_肋年する : 'set', *さらに拒しく [#i8509b24] そら痞スクリプトは、C咐胳やJavaˇRubyといった、弓く舍第しているALGOL废プログラミング咐胳と票じような矢恕を洒えています。 とくに、答塑弄な雇え数は、Javaによく击ています。 とゆ〖か、Processing/Processing.jsに恃垂しているだけなので、その矢恕とほぼ票じです。 -[[Processing.js答撩呵庐掐嚏]] -[[Processing答撩呵庐掐嚏]]