1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

プラグイン メタ手抜き

かえるぴょこぴょこ2017-05-10に開始した「ツクールMV」の中の討論

    • 製作者: 名無しのツクラー
    • 非商用利用: 自由○/クレジット必須/禁止
    • 商用利用: クレジット必須○/作者に問い合わせ必須/NG
    • 再配布: OK○/NG/クレジット必須
    • 加工: OK○/NG/色替えのみ/部分的 など
    • 加工後の再配布: OK○/NG/クレジット必須
    • シリーズ: ツクールMV○ ※ベータ版ではMV向けのみ
    メタ情報で配列を扱いたい時どうしますか?

    例はアクター。

    アクターのメモ欄に<xxx:[1,2,3]>

    プラグインの方に
    var meta = this.actor().meta.xxx;
    data = JSON.parse(meta);

    こんなことをしているかもしれません。


    メモ欄に<xxx;[1,2,3]>と言うような感じに書くと、
    this.actor().meta.xxxに[1,2,3]の配列が代入されているので、
    配列への変換を行わなくて済むので使いようによっては便利になると思います。

    ちなみに、コロンで区切れば文字列として扱われます。
    セミコロンの場合は、数字は数値として扱われます。
    文字列の場合は"で囲う必要があります。
    その点を注意下さい。

    コロンとセミコロンだと紛らわしいと思うかもしれませんね。
    #で区切りたいと思えば……
    ;を#に変えると……
    var re = /<([^<>:#]+)([:#]?)([^>]*)>/g;

    正規表現で、<>の中に、 <>:#以外の文字が1以上 :#はあってもなくても良い >以外の文字は0以上あっても良い。
    と言う条件です、
    区切り文字として使う、<>:#は使用禁止と言うわけです。
    <めた:1>a>みたいな表記は駄目という事です。
    この場合は"1"になってしまいます。
     

    添付ファイル:

    #1
    猫二郎, Toshico, メルサイア他5人がいいね!しています
  1. 神無月サスケ

    神無月サスケ ユーザー

    >かえるぴょこぴょこさん、こん**は。
    初対面で恐縮ですが、ため口で失礼します(理由は下記を読めばすぐわかるかと)。

    あんた、添付ファイルのプラグインにコーヒー吹き出す罠しかけとくんじゃないよ!
    「記事本文に説明が大体載ってるけれど、ファイルサイズが大きいから、
    いろいろ応用したことかやってるんだろうな」なんて思ってDLして、エディタ表示したら、あんた……
    プラグインで笑いを取ろうとするんじゃない(笑)!

    正直、中を開いて、腹がよじれたプラグインなんて、あんたのこれが初めてだよ!(ほめ言葉)
    確かに、プラグイン自体はシンプルでとっても合理的で、そのままでも実用的だと思うよ。
    その点でも「いいね」に値するんだけれど、
    でも、僕が付けた「いいね」は、それとは全然別次元の所を評価した「いいね」だからね!

    そういうわけで、今この文を読んでるあなたも、添付のプラグインをダウンロードして開いておくれ!(半義務)
    スクリプトが分からない?それでも問題なし。安心してダウンロードして腹をよじらせてほしい。

    そして、勇気のある人は、口の中に飲み物を含んだ状態で、挑戦してほしい。
    (ただ、その結果、画面があなたの飛沫で埋まっても、僕は責任を取れないので、各自で十分ご用心を(微笑))
     
    最後に編集: 2017-05-11
    #2
    猫二郎, メルサイアjiro がいいね!しています
  2. jiro

    jiro ユーザー

    歯磨き粉飲み込みそうになりました(笑
     
    #3
    神無月サスケ がいいね!しました
  3. 神無月サスケ様

    何を発言されたのか解りませんが、字が伏せられています。
    発言に気を付けましょう。


    >添付ファイルのプラグインにコーヒー吹き出す...
    食事をしながら読むのはマナーとしてどうなのか?
    それは貴方の不注意です。


    >正直、中を開いて、腹がよじれたプラグインなんて、あんたのこれが初めてだよ!(ほめ言葉)
    >そういうわけで、今この文を読んでるあなたも、添付のプラグインをダウンロードして開いておくれ!(半義務)
    >スクリプトが分からない?それでも問題なし。安心してダウンロードして腹をよじらせてほしい。


    笑いものにする理屈が解らない。
    褒め言葉と付ければ何を言っても良いと言うのですか?
    一生懸命、試行錯誤の末に作ったプラグインをここまでコケにされたのは初めてですよ。

    努力を踏みにじり、貶める行為は不愉快です。




    気楽に楽しんで作ろうぜって、メッセージ性を込めています。
    彼の言うような"笑い"を取りに行くものではないです。
    プラグインが難しくて解らないと言う人でも、
    ちょっとは楽しい気持ちになるにはどうしたら良いのかと考えて、
    あのような形にしたのです。
    元のコードはどんなコードなんだろうか?
    そういう興味を持って、なんだー少ししか変更してないんだって、
    これぐらいならできそうって思わせたい。
    そう言う心意気を考慮して欲しい。

    淡々と書かれたものは洗練されていて良いとは思います。
    作るのはゲームです、遊び心って言うものがあったほうが、
    制作は長続きすると思うのです。
     
    #4
    メルサイア神無月サスケ がいいね!しています
  4. 神無月サスケ

    神無月サスケ ユーザー

    気分を害されたようで大変申し訳ありません。深く陳謝いたします。

    そのような意図ではなく、純粋に「ほめ言葉として書いた」、その通りなのです。
    この点について、釈明をさせていただきます。

    私があのプラグインをこのように紹介したのは、ひとえに「コメントにセンスがあり、面白かったから」であり、
    まさに、あなたの求められた
    >プラグインが難しくて解らないと言う人でも、
    >ちょっとは楽しい気持ちになるにはどうしたら良いのかと考えて、

    >あのような形にしたのです。
    という点を高く評価する意図で、書かせていただきました。

    そう、プラグインと言うのは、本来「お堅い物」であるのに、
    このプラグインは、「楽しい気持ちになる」もの、まさに、そんなプラグインでした。

    そして、このようなプラグインは稀有であり、これまで数百のプラグインを見てきましたが、
    このような基軸で書かれたプラグインは初めてでした。
    大抵のプラグインは、本体に力を入れて、コメントはずさんだったりします。
    丁寧なコメントを付けているプラグインもありますが、あくまでマニュアル的な説明の物ばかりです。
    そんな中、あなたのプラグインは違った。コメントがとても楽しい

    今回、ああいう表現になったのは、「真面目さを期待していたところに、不意に面白いものが現れた」
    ということに対する、サプライズがあったからに、他なりません。

    そして、これを皆に紹介するにはどうすればいいのだろう。
    「楽しさ」を前面に押し出す説明をするといいと思ったのです。
    そこで、敢えて、大げさに、「楽しいから、その意外性に大笑いしたよ」という書き方にしたのです。
    加えて「使用説明と機能ばかりで無機質なものと決まっているコメントの世界に、
    不意に、楽しい内容を持ち込む意外性」
    からでした。

    「楽しさ」と「意外性」がミックスされると、人は大笑いしてしまいます。
    しかし、それはお笑い芸人の笑いと同じで、大変良い笑いだと思っていました。

    お笑い芸人にとって、「ツッコまれること」がほめ言葉になります。
    ならば、作者様も、この「楽しさ」があり「意外性」もある、このプラグインなら、
    お笑い芸人のように、ツッコみながら書けば、
    作者は、ほめ言葉として受け取ってくれるだろう……そのような考えからでした。

    作者様も、きっと、このような僕の意図を理解してくれる……そのような甘えた気分がありました。
    しかし、怒らせてしまい、申し訳ありません。

    以上が、僕の意図なのですが、何卒、ご理解いただけないでしょうか。
    僕があの書き込みをしたのは、一切偽りのない、(お笑い芸人的な楽しさに対する)ほめ言葉からでした。

    どうか、ご理解いただけないでしょうか。
    それでも、もし納得いかれないようでしたら、さらに深く謝罪するとともに、削除に応じます。

    申し訳ありませんでした。
     
    #5
    メルサイア がいいね!しました
  5. リューイ

    リューイ ユーザー

    ◆かえるぴょこぴょこさんへ
    神無月サスケさんは決して貴方をバカにしたりコケにしたのでは無く、
    センスがあるから面白いと思ったのでしょう。
    私もスクリプトの中身を拝見しましたが、とてもユニークで素敵だと思いました。
    プラグインが全然分からない私も楽しく理解できそうですよ:kaojoy:
     
    #6
    神無月サスケ がいいね!しました
  6. メルサイア

    メルサイア ユーザー

    >かえるぴょこぴょこさんへ
    とても遊び心のある、画期的なソースだと思いました。
    自らの心境と共に、コメントを一行ずつ丁寧にしていくところとか、自分のソースをほうふつとさせるものでした。
    javascriptの神(?)の怒りに触れて、breakするところとかも…。
    センスが素晴らしいです。
    私もまだタグの使い方は慣れてません…。matchという魔の迷宮から、一時の光を見いだせた次第です…。
    でもたぶんまたウロボロスかミノタウロスに殺されます。なんとかリペアしてみます。
    とても楽しい遊び心を、ありがとうございました。

    >サスケさん
    私もノリツッコミが命よりも大事な大阪人ですので、同じようなことをやってしまってたと思います。
    誰もコメントしてなかったら、私も真っ先にツッコんでたと思います。
    おそらく、かえるぴょこぴょこさんはこの裏技を、ものすごい長い時間をかけて編み出した瞬間だったのだと思われます。
    私もプラグインのエラーに悩まされ、何時間×数日もうんうんうなりながら解決にたどり着くように…。
    たぶんタイミングが悪かっただけです。T^T。
    きっと、時間をおいてみれば、サスケさんの気持ちも、理解してもらえるような内容だと思います。

    javascriptはむずかしいので、気軽にやるにはとても精神がすり減らされる言語です。
    でも、かえるぴょこぴょこさんの「気楽に楽しんで作ろうぜ」の心意気は、私も共感できるものですし、
    おそらくプラグイン専門家ではない人は、多くの方がそのような心意気に希望を見出しているものと私は考えます。
    むずかしいものを少しの工夫で楽しさにかえる、ゲームづくりの作法。
    「遊び心を大切に」のメッセージ、確かに受け取りました。
    私も何かトライしてみます。
     
    #7
    神無月サスケ がいいね!しました
  7. Toshico

    Toshico ユーザー

    こちらのプラグインを使用させていただきました。
    スクリプト記述作業の時間短縮に大変役立っています。
    ありがとうございます。
     
    #8
    神無月サスケ がいいね!しました
  8. aki_mana

    aki_mana ユーザー

    >> メタ情報で配列を扱いたい時どうしますか?

    <attr;json> の書式って、整数配列以外は扱いづらいですよね。
    なので、HTMLタグのようにして、一括設定できればと…。
    HTMLタグのような書式を解釈するプラグインを書きました。

    私はゲーム作りに関してはド素人でして、コードリーディングから始めたところです。
    添付いたしましたので、評価いただけると幸いです。

    追記)特に明記しませんでしたが、MITでお願いします

    2017-12-31 刷新したので、ダウンロードされた方は再取得お願いします。
    正規表現実行回数に着目した独自パーサで高速に文字列処理してます。

    メタ 手抜きというと、一長一短ありますね。使い分けが大事かなぁ。
    - <attr> RPGMVオリジナル実装:Bool値定義が超シンプル
    - <attr:textValue> RPGMVオリジナル実装:テキスト値定義
    (複数行の長文を定義するのに超便利)
    - <attr;json> かえるぴょこぴょこ氏の JSON.parse() による変数展開機能を付ける
    JSONのルール「プロパティ名にダブルクオート必須」「コメント禁止」が煩わしい。
    ※ダブルクォートの付け忘れはエラートラップで
    Datamanager._databaseFiles[data.id].name を参照すると気付きやすい。
    ※プロパティが増えると、JavaScript コメントくらい許容してほしい。
     (独自のパーサでコメント除去するように対応)
    - <tag>, <!meta> HTMLタグのように記述して「一括設定」
     

    添付ファイル:

    最後に編集: 2017-12-31
    #9
    神無月サスケ がいいね!しました

このページを共有