
| :脅威のペイントソフトあらわる!!(640*480) | |
|
|
|
|
|
|
・ なんていうかこんなサイトが2年も経たずに30000ヒット突破って、一体全体どーいうことなんでしょうか。 つかホント、なんでここまで来れたのか正直よく分かりません。 ちうか皆様、ウチは地味で質素なモバ絵サイトですよ? ていうかウチ、萌えとかエロとか無いですよ? しかもメインコンテンツの「モバ絵ギャラリー」はすっかり更新頻度が落ち込んでしまってマイナス方向にすごい事になってしまっています。 それなのに皆様何を求めてこのサイトをご覧になってるのか不思議でしょうがありません。 (決して求められてるのは「笑い」では無いハズ、「笑い」でだけは無いはずだと思いたい。だってウチはテキスト系サイトでもネタサイトでもなくごく普通のモバ(以下略)) ていうか「ここはモバ絵サイト」とか言っておきながら、その肝心のモバ絵ギャラリー、前回の「ArtRageのジョイ・オブ・ペインティング」から、もう2ヶ月以上間が空いてしまってるってのはモバ絵サイトとしてはとてもマズいですよ自分。 つか、このサイト「たわごと」のコーナーが出来てから、更新作業のエネルギーの90%が駄文書きに費やされてしまっていると言うのは本当にマズいですよ自分。 つーことでワタシは、この状況を打開するべく、ある秘策をブチ上げたのでございます。 「そうだ、京都行こう! 違ったモバ絵ソフト作ろう!」 …あの「そうだ京都行こう」ってキャッチコピーはホント絶妙だよなぁ、「そうだ」って言葉を出すとその後どうしても「京都」って言葉が出てきちゃうもんなぁ _| ̄|○ ってそんな事はどうでも良くてモバ絵ソフトですよモバ絵ソフト。 そんなのを自作してしまう事が出来れば、どんなバカネタぶちかまそうともギャラリーの更新頻度が低下しようとも、ウチは誰がどっからどうみても立派なモバ絵サイトです。 …なんかこの考え方非常に間違ってる気がしなくもないですがとりあえず案ずるより産むが易し。(←ここでこの言葉を使うのは絶対に間違ってる) もちろん、いきなりPDA用のアプリケーションを「くろすこんぱいる」(←実は良く意味が分かってない)などとやってしまう技量なんか自分にはないため、まずはTypeUで使えるWindows用の簡単なのを作ろうと思ったワケですよ。 なにしろ、最近始めた「HSP」というフリーのプログラム言語だと、「マウスドラッグでウインドウに線を引く」というプログラムを書く時、
と、たったこれだけのスクリプトを書くだけで良いんです。これなら頭の悪いワタシにも何とか出来そうです。 ていうか実際このスクリプト、ワタシがヘルプとにらめっこしながら必死で考えたものだったりします。(ちなみに1時間ほど悩みながら作りました。) まぁ見る人が見たら「なんて頭の悪い事をしてるスクリプトなんだ!!」と言われるかも知れませんがプログラムなんて物は動けばいいんです。 ていうか元々、ワタシが絵を描く時に必ず無くてはならないのがいわゆる「エアブラシツール」なんですが、
さすがにバカチンなワタシの脳味噌でも、一つもないって事は、多分リナザウの「QT」と言うものではこのようなツールを作るのはとんでもなく難しい事なんだろうなぁと予想がつくワケです。 なので、なんとなくではありましたが、「いきなり大きな半透明円を置いてくのが難しいなら、ピクセル単位で点々をドカドカ打ってけば、OSの独自仕様制限みたいなのに引っかからずにエアブラシに似たようなツールが似たような事が出来るんじゃないか」などという妄想をワタシは常々抱き続けていたワケで。 で、そんな妄想を、ソフトウェア作者様にいきなり無責任にぽーんと要望するのもアレなので、まずは自分で作ってみようかな〜と、かなり前から考えてはいたんです。 で、HSPだったら、書式は簡単だし、「インストール」とか「パス通し」とか言った事をしなくても「実行ファイルをコンパイル」出来てしまうのでUSBメモリに全ファイルをぶっ込んでおけば目の前のPC全てがあっという間に開発環境になるし、それになによりテキストエディタでソースコードをポチポチ打っていると、それがたとえ勤務時間中であっても仕事してるように見えると言う… …いやそのなんでも別に勤務時間中にそんな事やってませんよ、いや正直仕事中にちょっと思い付いた事があるとちょこっとはやりましたけどね、ちょこっとだけですけどね、 ていうかそー言う時に限って部長とかがやってきたりなんかしてビビったものですが、部長にとって「パソコン画面中のワケ分からないもの」イコール「仕事」という図式が完成してるため、目の前で堂々とソース打ってても全然バレなかったんですねコレが。 そんなこんなで出来上がったのが、このスプレーガソです。 配布ページにソースコードも置いているので詳しくはそっちを見て貰えばと思うワケですが、初めて作ったペイントソフトにしては、なんか知らないけどソースコードやたら長いです。 でもソースの内容の大部分はユーザーインターフェースとかコメント文とかで、肝心のメイン部分はさっきの「マウスドラッグでウインドウに線を引く」ソースをちょっといじくっただけのすごい単純なものです。 マウスの周囲にランダムに点々を打ってるだけ。 ややこしい処理なんかせいぜい、その処理に「繰り返し処理の間に描画する範囲を少しずつ大きくして、真ん中の方をより多く点を打って濃く、外側に行けば行くほど薄く描画するように」、「既にキャンバスに描画されている色と今から描画しようとしている色とを比較して上乗せする強さを決める」という処理を追加してるぐらいなものです。 そんなすげぇ単純な処理なのにもかかわらず配布ページにあるような絵が描けちゃったりする辺り、我ながらうまい事やったなぁと思うワケであります。 つかコレだったら、リナザウお絵描きツールにも簡単に移植出来るんじゃないでしょーか? つー事で半ば名指し状態で申し訳ないんですが、もしよろしかったらこの処理方法を リナザウの …ええ、もちろんそれがめんどくさかったら、このページを見なかったことにしていただければと_| ̄|○ ていうか。 さんざんHSP漬けの日々が続くと、つくづく思う事があります。 プログラム言語って、いかにその言語自体の性能がダメダメでも、仕様説明とかサンプルとか言ったドキュメントさえ優れてさえいれば、それすなわち優れた開発環境になると。 逆に、どんなに優れた能力を持つプログラム言語でも、ドキュメントがダメダメだったら何の役にも立たないと。 HSPは、数量計算がとにかく苦手です。 なにしろ、小数点計算をするには外部プラグインの力を借りなければならないし、四則演算では、式の中にかけ算割り算が入っていても特に優先順位とか一切考慮されず左から右にぺぺーっと処理されてしまいます。 その他にも、円やベジェ曲線を扱う命令なんかは存在しないし、GUI操作ではダブルクリックの検出が出来ません。 それなのになんでここまで普及率が高いのかと言いますと、自分で使ってみてよーく分かったのですけど、とにかくドキュメントがわかりやすいし具体例も書かれているし、専用エディタでポチポチ打ってて分からない命令文とか出てきたら、迷わず「F1キー」を押せばそこに関係したヘルプがパッと出てくるので資料検索に必要な時間はほとんど0〜1秒です。 さらに、もしヘルプにすら書かれていないような突っ込んだ情報を知りたいとしても、グーグル先生に聞けば山のように回答が帰ってきて、しかもそれらも全て「初心者」が多いHSPユーザーのためにものすごく理解しやすい日本語で書かれています。 なので、HSP歴数時間という超ド級初心者でも、HSPの仕様自体にはほとんど悩むことなく、ストレートにアルゴリズム自体に思考を集中させる事が出来るんです。 他の言語だと、絶対こうは行きません。 大体、ドキュメントやネット上の情報を読むという行為だけで、ある一定の技量を必要とします。 ていうかクラスって何。 ポインターって何。 レジスターって何。 構造体って何。 オブジェクト指向って何。 つかなんである程度突っ込んだところまで行くと、必ずと言って良いほど英語で書かれてるんですか。 なんて言うか普通に日本人向けに書かれてる資料ですら用語が理解出来ないのに、それが他国言語になったらもう完璧にお手上げです。 つか大体、どんな本を読んでもどんな資料を見ても、「初心者向け」に書かれたと思われる資料からしてすでにレベルが高すぎなんですけども。 オマケに、ただでさえ難しい文章が理解出来ずに脳内がパニックを起こしてるってのに、そこからさらに詳しく説明しようとして下さってるんでしょうがいきなりかなり長いソースを見せつけたり、例文の中にそれまで一回も出てこなかった命令文をいきなり登場させて「この命令文については後で解説しますので今は気にしないで下さい」とか言っちゃったりなんかして、より一層パニックを助長してくれます。 でもってそれだけならまだしも、たまーにまだ一回も解説を行っていない機能を、まだその機能をまだ解説していない事を著者さんがすっかり忘れてて普通に知ってるものとして文章に当たり前のように登場させたりなんかしてしまってます。 (ワタシ、とある書籍でこれにぶち当たりまして。 ある章に書かれてる事がさっぱり理解出来ないからすっ飛ばして先の方を読んでたら、かなり後半に出てきた内容で「あ!これってひょっとして!」とか思って理解出来なかったところを読み直してみたら、まさに後半を読まないとまったく理解出来ない内容であった事に気づき愕然としたもんです…) これらの状況を、物語に例えますと。 ワタシは、原始時代のウンバボ部族の族長だったとします。 (「ウンバボ部族の族長」=「プログラム初心者」) で、となりのバンヒヒ部族がテリトリーを荒らしてくるのがうっとおしいので、一気に攻めて殲滅しようと思いました。 (「隣の部族を殲滅」=「作りたいと思っているプログラムの目的」) ところが、バンヒヒ部族はウンバボ部族よりもかなり武力に優れた部族なので、これは普通に攻め込んでは間違いなく逆襲されてしまいマズいと思いました。 そこでワタシは神様に祈り、異世界から勇者を召還する事にしました。 神様はその願いを聞き受け、現代のアメリカ軍をウンバボ部族の元に送る事にしました。 そう、バンヒヒ部族のいるところは遠い未来の油田で、ここでウンバボ部族が勝利すればその油田は将来のアメリカのものになるのです。なのでそれを神様に教えてもらったアメリカ軍はノリノリで最新兵器を携えて、マジェスティック12で秘密裏に開発していたタイムマシンを使ってタイムスリップしてきたのです。 (「アメリカ軍」=「知り合いのスーパーハカー」) ただしマジェスティック12は極秘機関なので、兵器は大量にそろえられても兵士自体を多くそろえる事は出来ずごく少人数の技術者だけしか送り込む事が出来なかったため、アメリカ軍自体が直接バンヒヒ部族に攻め込む事は出来ませんでした。 そこで、アメリカ軍はウンバボ部族に近代兵器の使い方を教えて、ウンバボ部族自体に兵士として動いてもらう事にしたのです。 (「アメリカ軍がウンバボ部族に武器の使い方を教える」=「スーパーハカーが初心者にプログラムを教える」) そうして数日が経ち、ウンバボ部族に兵器の操作方法を一通り教えたアメリカ軍の技術者は、早いところ自分たちのやってた宇宙人の解剖の研究に戻りたかったので、 「我々が持ってきた巡航ミサイルや戦車の力を使えば楽勝でしょ?じゃ、後の事は任せるから。」 とか言ってさっさと武器だけ置いて自分の時代に戻っていってしまいました。 (「戦車とかミサイルとか」=「クラスとか構造体とかポインタとか」) それからどうしたかというと。 結局、ウンバボ部族のほとんどはたった数日のレクチャーでは近代兵器の使い方がさっぱり理解出来ず、戦いの最初の方では少しはライフルの使い方を理解出来た一部の者たちのおかげで善戦はした物のあっという間に弾が尽き、ウンバボ部族はあっという間に逆襲を喰らい滅亡してしまいました。 …つか大体ね、ミサイルなんか電子機器の操作が理解出来ないと発射できるワケがないし、電子機器を使うには特殊なスキルがないといけないし、戦車砲を撃つためには戦車を走らせないといけないし、戦車を走らせるには運転が出来ないといけないし。 ていうか原始人にいきなりミサイル見せてもそれがなんなのか理解できるワケ無いでしょ。 それを、使い方の説明を上っ面だけさらっと流して楽勝でしょってそんな無責任な事言われても。 …と、ワタシには「初心者向け書籍」がこういう風に見えてるワケです。 初心者が必要な知識を得るためには徐々にレベルの低いところからゆっくり積み上げて行かなきゃいけないのに、「そこは後で解説します」、「その部分は別に知る必要はないので割愛します」という便利な言い訳と共になんかワケの分からないよけいな説明文を大量に付加して(上の物語で言うなら物語そのものがそれに相当します)、一番伝えなければならないところが読者にまったく伝わっていない、と。 それなのに、ほとんどの初心者本の帯や表紙には決まって、「簡単」「楽勝」「楽しい」という文字が躍っています。このアメリカ軍どもめ。(←いや怒りの矛先が間違ってるっつの。) なんていうか、その資料を作成した人が「初心者のため」に良かれと思ってレベルの高い事を事細かく解説を書いてる事が、逆に初心者にいらないパニックを引き起こしているように見えます。 これらは、「初心者向け」を強く謳い文句にしている書籍であればあるほど、その傾向がより強いように思います。 ていうか世の中の「初心者向け書籍」は、ほとんどがいきなり原始人にミサイルの飛ばし方を教えている物がほとんどです。 果たしてそれで、全ての原始人がミサイルの操作を理解できるでしょうか? 一部の頭の良い原始人なら何となく飛ばせるようにはなると思いますが、おそらくほとんどはまったく理解出来ないでしょう。それどころか、ミサイルがなんなのかすら理解できない者の方が圧倒的でしょう。 では、全ての原始人にミサイルの使い方を教えるにはどうすればいいか? そんなのは決まってます。まず原始人全員には石の投げ方から始めてもらうんです。 ひょっとして「いくらなんでも石の投げ方ぐらい知ってるでしょ」なんて思っちゃいけませんよ、もし石の投げ方を知らない原始人がいたら、その人たちはその後の講義から完全に置いてけぼりになってしまいます。 で、全員に石の投げ方を理解してもらったら、次は石をターゲットに当てる練習。 「石を投げると、当たった物にダメージを負わせる事が出来る。」 一体自分が何のために石を投げているのかを、みんなに理解してもらうんです。これ最重要。 そのうち、原始人たちはいくつかの種類に分かれると思います。 投げた石が百発百中になる者、たまにしか当たらない者、まったく当たらない者。 そうなってくると、まったく当たらない者はこの講座が面白くないので、途中で投げ出してしまうかも知れません。 そこで次にやるべき事は、石をそのまま投げるのではなく、パチンコを作ってそれで発射してもらうのです。 そうすれば、受講者全員の投石命中率は飛躍的に上がります。 普通に石を投げるのでは無理な人間でも、便利ツールを使えばより目的を達成しやすくなる事を教えるのです。 そうすれば、講義について行けなくなりそうだった脱落者予備軍も、再び講義を受けるのが面白くなってモチベーションを持続する事が出来るでしょう。 さて、石の命中率が上がれば、原始人全員がその投石技術が狩りに使える(自分たちの生活に密着したツールの作成方法)という事をそろそろ考え始める事でしょう。 そうなれば、次にやる事は確実にターゲットを仕留めるための工夫です。 単純に威力を上げるため、発射する石そのものを大きくする。 石が大きくなるとそのうちパチンコでは発射できなくなるので、パチンコはやめて石を棒にくくりつけて投げる…槍を作る。 槍にすると威力は上がったけどちょっと命中率が下がってしまったので、コンパクトにした槍をパチンコで打ち出す…弓矢を作る。 その頃になれば、もう全員が全員とも、遠くにいる獲物をこちらから近づかないで仕留めるには、その獲物めがけて重くて速くて尖った物をぶち当てれば良いと言う概念が常識と化している事でしょう。 さて、これでようやく、原始人全員がミサイルという物を理解するための必要最低限の知識を手に入れたワケです。 ほんと、やっとです。 でもここからまだ先は長いですよ。なにしろ、今度は「火薬」と言う物を原始人に教えなければいけないのですから…。 ・・・・・・。 …うわめんどくさっ!! なんであれやこれやいちいち細かい事教えなきゃならんのじゃいっ!! でも、それが初心者に物を教えるという事なんです。 少なくとも、本のどこかに少しでも「この本は初心者の方のために…」などと書くのであれば、まず目的別(ペイントソフトを作りたい、計算機を作りたい、作業を助けるヘルパーアプリが作りたい、等々)にカテゴリを分けて、その目的ごとに事細かーく説明文を書く必要があるんです。 そこら辺から行くと、ネット上で入手できるHSP関連資料の出来はとても素晴らしいです。 なにせ、アマチュアがアマチュアのために書く資料ですから、用途別にかなり細かいTIPSがあちこちに存在していて、なおかつ「自分はここで引っかかってつまずいたので、皆さんは気を付けましょう」などといった、プロな方ではほとんど気が付かないようなようなアマチュア同士ならではの気配りがあります。 こういった内容物が書籍等にはほとんど無いというのは、本とか書けてしまうほどプログラム言語に慣れ親しんだプロの方は、どうも自分が初心者であった頃の事を完璧に忘れてしまってるよーな気がしてしょうがないです。 ほんと、もし将来「自分は初心者向け書籍を書いて荒稼ぎするんだ!!」とか思ってる方がいらっしゃいましたら、お願いですから、初心者の内に自分がどんなところでつまずいたかとかこういう資料があったら助かったのにとか言った事をぜーんぶ書き留めておいて、いつまでも初心者だった頃の気持ちを忘れないで頂きたいと思うワケであります。 以上、パチンコを使っても高性能ライフルを使っても標的にかすりもしない原始人、某信者より。_| ̄|○ |
÷
|
|||
|