VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:19:05.01 ID:HfR9U3Sco<>内容はスレタイ通り<>ゲーム製作初心者の俺がマルチプラットフォームなゲーム作ってみるスレ VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:22:25.91 ID:HfR9U3Sco<> >>1の情報

男 25歳 社畜

よろしく <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:25:49.09 ID:HfR9U3Sco<> 規制で剰りにも暇だからゲーム作ろうと思い立ったが吉日
早速作ろうとGEPへスレ立てしました

一人で出来るとこまでやるが、一人でやってると心が折れそうなんで頑張れと応援よろしく

色々調べて参考書籍ポチッたりしてます
プログラム未経験です <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:29:14.13 ID:HfR9U3Sco<> 事前に調べた結果、マルチプラットフォームではJavascriptが相性良さそうなんで使用言語はJavascriptです

ライブラリにenchant.jsを使おうと思います

enchant.jsの参考書籍をポチりました
来週中には届きそうです <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:34:25.63 ID:HfR9U3Sco<> マルチプラットフォームと言う事で敢えてOSはWindowsでは無く、Linuxを選びます
ディストリビューションはUbuntu派生のxubuntuです

xubuntuを「LiveCDの部屋」からダウンロードし、DVDへ焼きます
DVDへはWindows7でフリーソフト「ImageBurn」を使って焼き込みました

ここまでサクサク進行しました <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:35:58.69 ID:HfR9U3Sco<> xubuntuをインストールする前にWindows7のリカバリディスクを作成します
この後、リカバリディスクを作っておいて良かったと安堵することになる <> VIPにかわりましてGEPPERがお送りします(静岡県)<><>2012/02/26(日) 16:38:08.62 ID:pR2nifuVo<> がんばれ <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:38:32.29 ID:HfR9U3Sco<> WindowsがプリインストールされてるPCではインストールディスクは付属してません
プリインストールなPCを使ってる人は必ずリカバリディスクを作成しておくか、付属していたリカバリディスクを大切に保管しておきましょう
自作PCやってる人にとっては常識ですね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:45:24.45 ID:HfR9U3Sco<> >>7
あんがと

リカバリディスクを作成したらOD(光学)ドライブへ先ほど焼いたxubuntuの入ったディスクをぶち込んで再起動します

少し経つとxubuntuの読み込み画面が表示されますが、表示され無い人は、再び再起動してBIOS(バイオス)を出し、ブートの順番を変えてODドライブを一番上にしましょう
CDやらDVD、BD、Blu-rayなどと書いてあるのがそれです
中にはブートドライブを選択して起動させるPCもありますが、詳しくは「BIOS DVD ブート」などとググって調べてください <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:49:29.75 ID:HfR9U3Sco<> xubuntuが表示されたら言語に日本語を選択します

そして進んでいくと試用するかインストールするか聞かれるので試用の方を選択します

するとxubuntuの起動画面が表示されますので待ちます
<> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 16:55:03.92 ID:HfR9U3Sco<> xubuntuが表示されると見たことも無い画面ですね
そしてODドライブからの起動なんで重いですね、気にしないことです

取りあえず右上の方を見て、ネットワークに関するアイコンを左クリックします
そしてネットワークの設定をしておきましょう
ネットワークはxubuntuをインストールする時、MP3やらのコーデックインストールやアップデートインストールに必要です <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 17:00:56.39 ID:HfR9U3Sco<> そして今度は左上を見てアイコンをクリックします
これはWindowsで言うスタートメニューみたいなものでアプリケーションメニューと言います

その中から「GParted」と言うソフトを選択します
これはパーティションを編集する為のツールです

GPartedを起動し、パーティション情報が読み込まれるとWindowsやらリカバリーやらと書いてありますが、これはWindowsに関係あるパーティションです
誤って削除するとWindowsが起動出来なくなります <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 17:08:00.87 ID:HfR9U3Sco<> Windows以外に「D」や「ストレージ」「ボリューム」と書いてあるものがあると思います
これを右クリックしてフォーマット→ext4と選択しましょう

※このフォーマット作業をするとDドライブの中のデータが全部消えます
消したくないデータがあるなら、ファイルマネージャからUSBメモリなどへバックアップしましょう
xubuntuデスクトップに並んでる白いアイコンが各パーティションドライブへのショートカットです

ext4を選択したら上部にあるチェックマークを左クリックして実行します <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 17:15:14.03 ID:HfR9U3Sco<> 長々語っていたけれど面倒になってきたぞ・・・
まぁ取りあえず「xubuntu インストール」とか「Ubuntu インストール」とかで、ググれば分かります

パーティション操作だけは注意が必要です
おいらはこれをミスってWindows関係を削除してWindows軌道不能に陥りました

リカバリディスクはこんな時に使うので必ず作成しましょう <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 17:24:50.12 ID:HfR9U3Sco<> パーティションには「物理パーティション」と「拡張パーティション」があります

物理パーティションは一つのHDDに4つまでしか作れません

物理パーティション
物理パーティション
物理パーティション
物理パーティション

拡張パーティションも物理パーティションの1つですが、拡張パーティションの中には「論理パーティション」と呼ばれるものをいくつも作れます

物理パーティション
物理パーティション
物理パーティション
拡張パーティション┬論理パーティション
         ├論理パーティション
         └論理パーティション

論理パーティションを活用することで多くのパーティションを扱えるのです

WindowsプリインストールPCの場合、物理パーティションが既に3つ作られている場合があります
この3つのどれを削除してもWindowsは起動不能になるんです <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 17:29:25.77 ID:HfR9U3Sco<> そこへ4つめにxubuntuをインストールするとストレージドライブを作れなくなります
なので拡張パーティションを作成し、論理パーティションを2つ置いて、片方はxubuntuインストール、もう片方はストレージドライブ用にしましょう

物理パーティション(Windows用1)
物理パーティション(Windows用2)
物理パーティション(Windows用3)
拡張パーティション┬論理パーティション(xubuntu用)
          └論理パーティション(ストレージドライブ用)

ちなみにxubuntu用は40GBもあれば十分です

おいらはこれが理解できずにストレージドライブ用を作成しようとしてWindows用の一部を削除し、Windows起動不能に陥りました
誤って削除した場合はリカバリディスクでWindowsをリカバリして下さい <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 18:29:24.75 ID:FAaZGNGEo<> おまいらのググるパワーを信じ、Xubuntuのインストールが済んだとして話を進めます

取りあえずXubuntuでやることはセキュリティです
実はWindowsと違ってユーザー数の少ないLinuxではそれほどウィルスは出回っていません
しかし一応ということもあるんでアンチウィルスソフトを入れます

その前にxubuntuの様々な設定をする為のrootと言う機能を使う為にrootパスワードを設定しなければなりません
rootパスワードとインストール時に作成したログインパスワードは違いますので注意が必要です
インストールして直ぐの状態ではrootパスワードが設定されていないので設定する必要があるのです

マウスポインタを画面下部に移動するとランチャが表示されます
その中の真っ黒いアイコン、ターミナルエミュレータを左クリックしてください

ハッカーっぽい画面が出ます

その画面で下記のコマンドを実行してください

sudo su -

そうするとパスワードを求められるので、ここではログインパスワードを入力してください
※linuxのターミナルではパスワード入力時に画面へ何も表示されません ご入力に注意
※入力が上手くいかないときはNumlk(NamLock)キーを押してください

root@foo:~#と表示されますので今度は下記のコマンドを実行します
(fooとはプログラム業界でなんちゃらと言う名称が決まってないときに使う文字列。日本ではhogehogeと表記されることが多い
今回の場合、fooにはユーザーネームが表示される 例:ユーザーネームtarouの場合はroot@tarou:~#)

passwd

ここで入力するのはrootパスワードに設定したい文字列です
再確認の為にもう一度入力します <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 18:54:30.94 ID:FAaZGNGEo<> 最後に下記のコマンドを実行してください

exit

root状態からログオフしてhogehoge@foo:~$と表示されます

rootパスワードを設定したら、いよいよセキュリティソフトをインストールします

ターミナルエミュレータを起動して下記のコマンドを実行します

sudo apt-get install clamtk

sudoとは管理者権限でsudo以降のコマンドを実行すると言う意味です
管理者権限とはrootの事です
似たようなコマンドにsuと言うコマンドがありますが、suは管理者としてログインすると言うコマンドです
sudoの場合、コマンド実行が終了したら管理者から自動ログオフしますが、suはexitを実行しない限り管理者としてログオフされません
管理者としてログインした状態で席を離れたり、su状態でウィルスに晒されると大変危険なので可能な限りsudoを使いましょう

apt-getとはソフトウェアのインストールやアンインストール、アップデート等を行うコマンドです

installはapt-getのオプションコマンドで、install以降のパッケージをインストールするコマンドです

つまり管理者として以降のコマンドを実行(sudo) ソフトウェアを(apt-get) インストールする(install) ClamTKを(clamtk) と言う意味になります

アプリケーションメニューからアクセサリ→ウィルススキャナ(これがClamTKです)を選択します
ClamTKを起動できたら上部の拡張メニュー→スケジュールと進み選択します
ここでは自動スキャンの実行と、シグネクチャ(ウィルスパターンファイル)の自動更新を設定できます
シグネクチャ更新は自動スキャンの少し前に設定しておくと良いでしょう <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 19:02:03.93 ID:FAaZGNGEo<> Linuxの凄いところはターミナルエミュレータでソフトウェアをインストールすると必要なものを全て自動でダウンロードしてくれるところです
実はClamTKはそもそもターミナルエミュレータだけで操作するCUIソフトウェアです
それを「ClamAV」と言います

今回指定したClamTKはClamAVをGUI操作(マウスとかで操作)出来る様にするフロントエンドなんです
LinuxはClamTKと言うフロントエンドの大本となるClamAVが必要と自動判断してダウンロードしインストールしてくれました
この辺りはWindowsよりも便利ですね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 20:30:48.08 ID:FAaZGNGEo<> この辺りで実際のおいらの作業と追いつきました

Xubuntuの日本語入力は「ibus-Anthy」です
ibusがインプットメソッド、Anthyが変換エンジンですが、このAnthyが結構アホです

なのでLinux版Google日本語入力である「Mozc(もずく)」をインストールします

sudo add-apt-repository ppa:ikoinoba/ppa && sudo apt-get update && sudo apt-get install -y mozc-server+dict ibus-mozc

新しいコマンドが出てきました

add-apt-repositoryとは、リポジトリという試用版ソフトウェアを利用するのに必要なデータを受信するコマンドです

&&とは続けてコマンドを入力する為のコマンドです

updateはapt-getのオプションコマンドでソフトウェアをアップデートするためのコマンドです
実はLinuxはアップデートのコマンドを実行することでインストールされているソフトウェア全てを自動的にアップデート出来ます
これもWindowsよりも優れた面の一つです
OSがソフトウェアのアップデートまで管理してくれます

もしmozc-dictが見つからないと言われた場合はsudo apt-get install ibus-mazcとコマンドを実行してください <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 20:43:24.88 ID:FAaZGNGEo<> そして右上にある[i]というアイコンを左クリックします

その中の設定を選択します
インプットメソッドタブを選択し、インプットメソッドタブのすぐ下にあるインプットメソッドの選択を左クリックします
その中から日本語にカーソルを合わせ、Mozcを選択したら、追加をします
変換エンジンの一覧のAnthyの下にMozcが追加されたなら、Mozcへカーソルを合わせ、↑ボタンを押しAnthyより上にします

Mozcが表示されない場合は[i]アイコンを左クリックし再起動して、いてください

Mozcを一番上にしたならばアプリケーションメニューからログアウトを選択しXubuntuを再起動して下さい

再起動したならばアプリケーションメニュー→アクセサリ→Leafpadを起動します(Leafpadはメモ帳みたいなものです)
Leafpadでバージョンと入力し、変換候補に「Mozc+dict〜」と表示されれば成功です <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 20:52:26.25 ID:FAaZGNGEo<> 続いて今回の開発言語はJavascriptなのでブラウザをダウンロードしてみます
デフォルトでFirefoxが入ってますが、もうひとつの人気ブラウザであるChromeをインストールしてみましょう

Linux版のChromeは「Chromium」です
いつものようにターミナルエミュレータからコマンドを入力してみましょう

sudo apt-get install chromium-browser

これで勝手にインストールされます <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 21:05:27.24 ID:FAaZGNGEo<> 開発言語はJavascriptなので特に何かしらインストールするコンパイラとかはありませんが、テキストエディタくらいは良いものを入れたいです
自分もWindowsで入れてましたが今回は「gvim」を入れてみます

sudo apt-get install vim-gnome

gvimはかなり操作方法を覚えるのが面倒なテキストエディタです
ただ使いこなせば手放せなくなります <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/02/26(日) 21:25:36.32 ID:wn0crQC+o<> enchant.jsでマルチプラットフォームなゲームを作るスレかと思ったらubuntu入門講座スレだったでござる
勉強になった
>>1がんがれ <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 21:31:22.85 ID:FAaZGNGEo<> 何故、今回Xubuntuを選んだかといえばWindows7より軽いからだね
元になったUbuntuの方が情報は多く扱いやすけどWindows7とそこまで変わらない重さだからさ
どうせ別のOS入れるなら軽いのを入れてみようと思った

さてゲーム作るのに活用したいソフトウェアはまだまだある
その一つがアウトラインプロセッサだ
ツリー形式で段落を入れ替えたりできる便利なやつ

今回はターミナルを使わずにアプリケーションメニュー→Ubuntuソフトウェアセンターと選択する
Ubuntuソフトウェアセンターが起動したら検索欄へ「アウトラインプロセッサ」と入力する
すると「gjots2 jotter」がヒットするのでインストールをクリック
パスワードを入力してインストールします

Ubuntu系にはソフトウェアセンターが整備されていてターミナルを使わなくても実はソフトウェアのインストールが出来たりする

これで粗方のOS関係の整備は終了です <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 21:33:50.28 ID:FAaZGNGEo<> >>24
ごめんなさいwwwwwwwwww

いや1からおいらの進行を全部書こうと思ってさ
enchant.jsは参考書籍がまだ手元にない状態でどうしようもないのが実情

今週の週刊アスキーに講座が載ってたからそれで一先ず勉強しようと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 22:07:38.62 ID:FAaZGNGEo<> 取り敢えず週アス3/6号を確認
104頁の講座をやってみる

ttp://jsdo.it/

このサイトでJavascriptを公開できたりするらしい
ここでゲームを公開しようかね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/26(日) 23:03:45.12 ID:FAaZGNGEo<> 今日は週アスで勉強してそのまま落ちます
明日からはまた仕事だ・・・orz <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/02/26(日) 23:58:49.41 ID:wn0crQC+o<> あー、オレも週アス見て「ゼロから始める(ry」買ったクチだはw <> VIPにかわりましてGEPPERがお送りします<><>2012/02/27(月) 01:00:23.15 ID:sKxvbngno<> >>29
実は起きてたりwww

先週から調べ始めたら今週の週アスが非常にタイムリーでした
当初、あらゆる環境にランタイムを提供しているJAVAか、互換エンジンの多いNScripterで開発しようかと考えましたが、
調べている内にenchant.jsを知りJavascriptにしようと決めました

ゼロから始めるenchant.jsもポチりましたが、iOSなどの挙動も知りたかったのでiOSに関するHTML5の参考書籍を既に購入済みです
AndroidのHTML5に関する書籍も購入済みです

HTMLやCSSは学生時代に多少遊んでたのでズブの素人って訳ではありません
マークアップ言語の経験は多少あるが、プログラミング言語の経験はゼロってのがおいらです

プログラムを学ぶならCやJAVAから始めるのが筋でしょうが、まぁ所詮暇つぶしの遊びなのでwww <> VIPにかわりましてGEPPERがお送りします<><>2012/02/27(月) 10:45:03.04 ID:OAl0DcSso<> enchant.jsの挙動を手持ちのAndroidで複数ブラウザを使い試してみました
テストに使ったゲームはライブラリ付属の横スクロール熊のサンプルです

最も処理が軽快なのが標準ブラウザ
十字パットの反応が一番良かった

次いでFirefox
唯一サウンド(WAVEファイル)を鳴らすことが出来た

そして一番処理重なのが意外にもOpera
独自エンジンの為なのか十字パットの反応も悪い

標準ブラウザはWebKitベースなのでエンジェルブラウザやiOSブラウザでも同様の挙動なんじゃないかと推測しています <> VIPにかわりましてGEPPERがお送りします<><>2012/02/27(月) 19:15:32.14 ID:EVdIIQUJo<> HTML5,CSS3の対応状況はAndroidだとどうやらFirefoxが最も積極的のようだ

今日は夜勤当直です
深夜にまた来ます <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 01:01:21.89 ID:q+rtChvfo<> 今晩は

AndroidのOperaがアップデートしまして、横スクロール熊でテストしてみました
処理重なのは相変わらず、むしろ心なしか更に重くなった気がしますが、
サウンド(WAVE)に対応しました

WebGLによる3Dオブジェクト描画をサポートさせるgl.enchant.jsプラグインの
テストをAndroidの各ブラウザでテストしました
テストに利用したサンプルは以下です
ttp://tmlife-storage.googlecode.com/svn/trunk/gl-enchant-js/tips/guide/step04.html


標準ブラウザ(WebKit)では動作しませんでした
Firefoxでは処理重ですが何とか動作するようです
そして何故か意外にもOperaが最も軽快に動くと言う結果になりました

2Dでは苦戦しているOperaが3Dでは高スコアを出すと言うイミフな動作
もしかしたらコーディングによってスコアが全く変わってしまうのかも知れません
もう少し詳しく調べてみます <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/02/28(火) 01:30:41.38 ID:OOyqobhUo<> iPofTouchのSafariでアクセスしたらWebGL初期化出来ねーよって怒られて動作しなかった報告 <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 01:51:25.91 ID:6yr83+ruo<> >>34
あざーすっ
やはりWebKitはWebGL未対応みたいですね

Operaの動作を別コーディングでテストしてみます
今回はCOLLADA形式をy読み込むコーディングです
ttp://tsuyobi.heteml.jp/html/javascript/enchantjs/webgl/hatyune/

WebKitである標準ブラウザはやっぱり動きません
Firefoxは処理重ながら動作可能
そして何故かOperaはサクサクですww

じゃあ今度は各ブラウザのJavascriptベンチを取ってみます
利用したサンプルは以下です
http://www.4gamer.net/specials/enchant/bench/
※3Dっぽいけど2Dみたいです

結果は2Dだったので標準ブラウザが最も高いスコアをはじき出すという結果でした
時点でFirefox、そしてOperaの順でスコアが高いです
2Dゲームを作るのならばWebKitに最適化するのが良いかもしれませんね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 01:59:48.69 ID:6yr83+ruo<> ベンチマークしまくったらAndroidが熱で落ちましたwwwwww
この辺りも考えなきゃいけないですね
避けゲーの様な多数のオブジェクトを表示するゲームを作ってる製作者さんは熱との戦いでもあるわけですね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 02:12:56.77 ID:6yr83+ruo<> 幸いなことにiOSにもOperaがありますから、2DはWebKit、3DはOperaとユーザーさんに選択して貰う必要がありそうです

まぁこの辺りはまだ自分みたいな低レベルなゲーム製作者が考えても仕方ない範疇ですが
そこまでスペック要求するゲームは作らない(作れない)ですしね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 02:20:52.31 ID:6yr83+ruo<> 取り敢えず何から始めようか?と考えました

んで今週の週刊アスキーに掲載されてる熊サンプルを改造していくことから始めようかな?なんて考えてます
最終的な目標はVOCALOIDを題材にした何らかのゲームが出来たら良いななんて思ってます
MMDモデルも多彩なのでWebGLとか使えるようになったらカッコイイだろうなぁ何て妄想も・・・ww <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 02:45:05.72 ID:6yr83+ruo<> しかし手元に参考書籍が無いとアレですね、何も出来ないww
プログラムのプの字も分からない自分ですから、頭の中にあるゲームの想定する挙動を考え調べていますが、
専門用語が分からないですorz

今ぶつかってる難題が、ゲームサイズが大きくなると初期のロードに時間がかかってしまいますが、
enchant.jsの初期状態だとゲーム全体を読み込んでしまいロードに時間がかかる
そこでデータを小分けし、要所要所で必要なデータを読み込むにはどうしたら良いのだろう?と言うものです

そして可能ならばゲームプレイ中にバックグラウンドで小分けデータを読み込ませ、ユーザーにストレスを与えない
そんな方法はないものかと考え調べています

画像のプレロードまでは行き着きましたが、小分けして読み込ませたいのは画像だけでは無いので云々悩んでます

そしてどうやらJavascriptのマルチスレッドは試用段階であり、環境により対応もまちまちみたいだとも調べて知りました
つまりこれはバックグラウンドでの読み込みは事実上現状では困難だとオイラは勝手に判断した次第です <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 03:03:38.31 ID:6yr83+ruo<> データを小分けするという方法の想定は自分の中にはあります
想定であって正しい解なのかはわかりませんが

基本的にHTMLやCSSは上から読み込まれます(レンダリングエンジンにもよりますが、例えばSONY TabletはWebページの中でも重い部類である画像を後から読み込む)
ですからデータを小分けするには 以下の方法で出来るんじゃないかと考えているのです

<script type="text/javascript" src="../../enchant.js"></script>
  <script type="text/javascript" src="../../plugins/nineleap.enchant.js"></script>
  <script type="text/javascript" src="../../plugins/ui.enchant.js"></script>
  <script type="text/javascript" src="foo_game_1.js"></script>
  <script type="text/javascript" src="foo_game_2.js"></script>
  <script type="text/javascript" src="foo_game_3.js"></script>

HTMLへこのように記述することによりfoo_game_1.jsの処理が終了した後にfoo_game_2.jsが自動的にロードされ、
foo_game_2.jsの処理が終了すればfoo_game_3.jsが自動ロードと言う風に動作するのでは無いかと推測してるんです

これは参考書籍が届いた後に横スクロール熊を改造し、GAME OVER表示後、自動的に別ゲームが起動する様に改造する事で
テストしてみたいと考えています <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 03:04:52.05 ID:6yr83+ruo<> さて今晩はこれで終了です
おやすみなさいまた明日 <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 04:05:02.49 ID:9B64/e/vo<> 当直交代の上司が来ないです・・・orz
まぁいつものこといつものこと(´・ω・`)

まぁ既に解ってるとは思いますが、このスレはおいらのチラ裏な日記帳ですwww
プログラム関係無い独り言も多いです

明日は以前から欲しかったトラックボールが届きますよ!
xubuntuで動くだろうか?

上司来るまで様々な人のenchant.jsで遊びつつ来たら仕事を上がろうと思います
ではでは <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 14:48:51.09 ID:aRE9GQkwo<> トラックボール届いたよ(・∀・)!!
KensingtonのSlimBlade
Xubuntuでドライバインストールしないでも使えました

本はまだです <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/02/28(火) 17:10:37.37 ID:NoL/iMUIo<> iPhone4S
Opera
>>35の下のURL

重過ぎ泣いた <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 20:21:38.22 ID:aRE9GQkwo<> >>44
やっぱりOperaは重いですか
ありがとうございます

事実上Operaは3D専用になりそうですね
しかし逆に言えば3DはOperaに縛られちゃうんでWebKitやFirefoxももっと頑張ってほしいものです

重い重いと言われがちですがGekko(Firefox]noレンダリングエンジン)のバランスの良さは評価できますね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 22:01:04.39 ID:aRE9GQkwo<> 週アス3/6の講座を勉強中です

勉強中と言うかコーディング中です
コーディングした後、コードを読んでじっくり考えようと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/02/28(火) 23:14:28.14 ID:aRE9GQkwo<> 週アス3/6の講座は変数名の解説とか無いんでわかりにくいですねぇ <> VIPにかわりましてGEPPERがお送りします<><>2012/02/29(水) 01:29:55.42 ID:llZm/XIqo<> ただ打ち込んでも理解しにくいというのがわかりました
今回打ち込んだものを公開しようと考えましたが自分自身が全く理解していないので公開を控えます
参考書籍が届き、理解したら公開します

ソースコードを読んで何となくは何が書いてあるかは分かるんですがJavascriptの法則性というか、記述ルールがよく解っていないんです

週アス3/6号を持ってる方は105頁のソースコードを見てみて下さい

Part1はそのままなので理解出来ますよね
window.onload = function() {はこれなんでしょうね?
=の場合、その変数に代入すると言う意味で合ったはずですから、window.onloadへfunction()を代入すると言う理解で良いんでしょうか?
そして{の意味が全く解らない・・・出現頻度から考えてそのコードの終了を表すんでしょうか?
;の出現頻度も高いですが{との違いが気になるところです

varは何を表すんだろう?

labelやbearは明らかに変数で、{bear = new Sprite(32, 32);でbearに切り抜き解像度を指定しているんだと考えてます
Part2でbear.image = game.assets['hogehoge'];とbear変数に画像を与えていますよねコレ
そしてbear.frame = fooで先ほどのnew Spriteから指定した解像度のフレーム分を抜き取っているのだと思います
つまりbear.frame = 0では指定した画像の横0〜32解像度内、縦0〜32解像度内を抜き取り、
bear.frame = 1では指定した画像の横33〜64の解像度内、縦0〜32の解像度内を抜き取ると言う意味になるのだと
数字で画像を指定と言う解説文はそう言う意味なんだと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/02/29(水) 01:35:33.26 ID:llZm/XIqo<> 自分はプログラム未経験ですしenchant.jsに興味があってもプログラムは敷居が高そうでちょっと・・・と思ってる人も結構多いと思います
だから初心者の自分が参考書籍で勉強して初心者の言葉でenchant.jsを解説していこうと考えています

参考書籍が届いたら先ずはenchant.jsに付属しているサンプルの読み取り理解からしていきましょうね

それでは今日はこの辺で落ちます <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/02/29(水) 02:53:46.40 ID:E2JQ0wU9o<> オレもJavaScriptはあんましキチンと理解してないんだけど、window.onload = は
「ブラウザのウインドウに文書が読み込まれたら=のあとに書いてある事やってね」って意味らしい
でそのやる事が function() 、「関数」ってやつなんだけど要は命令たくさん繋げて作った機能のコトね
で、その関数の中身を続けて書く訳だけど何しろ長くなるんで一行に詰め込むとエライ事になる
そこで何行かに分けて書く時にどこからどこまでがその関数の中身なのか判る様に { と } で挟む訳よ
だからfunction()のすぐ後に{があるっしょ?
で、何行かに渡って命令が書いてあって、その後にちゃんと}で閉じてるっしょ?
そこまでがこの関数の中身ってコトで、コレがonload時に実行されるってワケ
因みに ; は一つの命令の終わりを示す区切りの記号ね
varは「変数使うよー、細かいコトは善きにはからえ」って意味で、変数宣言とかいうやつ
変数にはいろんなタイプ(型)があって数とか文字とか型によって入れられるモノが違う
本当は変数使う宣言するときに型を指定するのがお作法なんだけど、どうせ宣言と同時に中身放り込むんだから
中身見りゃどんな型か判るっしょ?ってときに使うのがvarってことらしい
んで今回のbearみたいに画面に表示するキャラクタとかは「スプライトオブジェクト」なので
「オブジェクト型」の変数に入るコトになる
つまり「bearって変数を宣言してnewで新しく生成した横32x縦32のスプライトオブジェクトを代入するよ、
型は代入する中身に合わせてオブジェクト型ね」という意味になるワケ
で、オブジェクト型の変数には「横32x縦32のスプライト」って情報だけじゃなくて、
そのスプライトで使う画像は?画面上で表示するときの横位置は?縦位置は?アニメするなら今何フレーム目?
といった情報も「パラメータ」ってやつに入れるコトが出来る
Part2のbear.image = game.assets['hogehoge'];てのがまさにそれ
bearのあとに「.(ピリオド)」でパラメータ名(スプライトに使う画像なら「image」)を繋げて書くと代入出来る
bear.frameとかもおんなじね <> VIPにかわりましてGEPPERがお送りします<><>2012/02/29(水) 08:59:42.88 ID:cBZ/K98Oo<> >>50
ありがとうございます

なるほど何となく理解出来ました

enchant.jsライブラリが呼び出されている環境下でfunction()はenchant.jsのfunction()であって、Javascript標準ライブラリのfunction()とは中身が違うんですかね?

まぁこの辺もゼロから〜が届けば解ることだとは思いますが

それにしてもこう言う今までにやった事無いものをやってると楽しいですねぇ(´∀`)
パズルを解くみたいな感覚です
しかもこのパズルを解けばゲーム作れるわけですから尚更ですね

更に言えばenchant.jsのメインユーザーは自分より10コくらいは年下の学生達ですからオッサンとしては負けられませんねwww
どっちが面白いの作るか勝負ですよ勝負www <> VIPにかわりましてGEPPERがお送りします<><>2012/02/29(水) 09:15:21.14 ID:8BCw9FQlo<> どんなゲームを作るかは決まってるの? <> VIPにかわりましてGEPPERがお送りします<><>2012/02/29(水) 10:31:22.62 ID:cBZ/K98Oo<> >>52
ええ、決まってますよ
どんな挙動をさせたいか?まで決まって居るんで後はしっかりJavascriptを勉強するだけです
そこが一番の難関ではあるんですがねwww <> VIPにかわりましてGEPPERがお送りします<><>2012/02/29(水) 19:34:10.69 ID:9+5nRLLPo<> enchant.js付属のサンプルのソースコードを読んでみたわけです

解ったことは週アスの凄さでしたww
当初、週アスのコードとサンプルコードを見比べて勉強しようと思ったわけです
でもあまりにも違いすぎて参考になりませんねコレwwwwww

早く届けゼロからはじめる〜 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/01(木) 18:42:24.36 ID:fgq3p0pzo<> 配送通知すら来ないんですが・・・
TSUTAYAで買ったんですけどね
3〜12日以内に配送開始らしいんです
もう一週間近く経ちますね
12日をフルに使うつもりなのでしょうか?

本屋へ行く度にJavascriptの本を買ってしまいそうになる・・・
我慢我慢(´Д`;) <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/01(木) 23:38:37.83 ID:sZkJnwvto<> >>50
流石にこれは違うと思うので指摘、ちょっと長いので3レスに分けてw

自分も専門ではないので結構間違いは結構あると思う。そこは他の人が指摘してくれると嬉しい
先に言っとくと殆ど「JavaScript本格入門」という本からの受け売りです。
さらに十分に理解できてるとは言えない、いい加減な知識での受け売りですw
本を読んだ方が100倍いいですw <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/01(木) 23:39:36.38 ID:sZkJnwvto<> varはメンバー変数の生成。
変数には有効範囲があり、varを付けて宣言した場合と付けない場合では
変数の使用できる有効範囲が違う。
例えばfunctionの中で宣言した変数は、varを付けていればfunctionの中でのみ有効
付けていなければfunctionの外でも有効。

変数の「型」に関しては、JavaScriptは表記方法で型を認識してる。
違った型同士で計算された場合は自動的にどちらかに変換(ネスト)されるか、またはエラーをはく

数値型 ・・・ 数字。入力時に数字を打ち込むと数値型になる
文字列型・・・文字列。入力時に""または''で囲むとストリングス型になる
ブーリアン型・・・trueとfalseの2つしか値が無い。""や''なしでtrueまたはfalseと書けばブーリアン型になる
配列型・・・データ集合体。new演算子でarrayオブジェクトのインスタンスを生成するか(後述)、[]で囲んでルール通りに記述すれば配列になる
オブジェクト型・・・データの集合体。{}で囲んでルール通りに記述すればオブジェクト型になる。
function型・・・実行できるプログラム要素を持つもの。function(){}で囲んでルール通りに記述すれば関数型となる。
特殊型・・・値が設定されていないなど

ちょっと特殊なのがfunction型とオブジェクト型
function型というのは呼び出された際に登録されたプログラムを実行し、実行した結果を返す。
例えば、
testFunc = function(){return 5;};
hoge = testFunc();
この場合、returnは値を出力する命令なのでhogeには5という数字が代入される。
function型の変数を呼び出す(実行する)場合は()を付ける。
この()は投げ値というのに使います。投げ値についてはあとでちょっとだけ書きます

あとfunctionの書き方には2種類ある。上記のような書き方以外にこういう書き方も出来る。
function testFunc(){return 5;}
この場合、最後の;はいらない

function型の変数は単体で実行できる(こっちの使用方法の方がメジャー)
たとえばfunction型の変数hogeがあった場合、
hoge();
と書かくと、格納されたプログラムが実行される。 <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/01(木) 23:40:27.14 ID:sZkJnwvto<> 次にオブジェクト型について説明
オブジェクト型は複数の変数を格納しておける大きな箱みたいなもの。
オブジェクト型に格納された変数も型があり、例えばオブジェクト型の中にオブジェクト型を格納するなんてことも可能
もちろんfunction型も格納できるよ
オブジェクト型の格納されたデータにアクセスするには.(ドット)を使う
だからオブジェクト型のhogeって変数の中にあるuryaって変数(プロパティと呼ぶ)にアクセスする際は
hoge.urya
と記述する。

でwindow.onloadって何よって話だけど
これはブラウザ自体が最初から持っているオブジェクト型の変数windowのonloadプロパティをいじっている
function型の値を代入してやると、ブラウザの読み込み終了後に自動的に実行される。

bear.image = game.assets['hogehoge'];
についてだけどまず、assets[]は配列型の変数。
配列の中でも連想配列という少し特殊な配列。
これはただ、bearオブジェクトのimageプロパティにゲームオブジェクトのassets['hogehoge']プロパティに格納された
値を代入しなさいとそれだけです。

newはnew演算子という演算子(+-=なんかと同じ)。
指定したオブジェクト型変数のコピー(インスタンスという)を作る。
例えば弾幕シューティングゲームを作る際、画面上にある弾は全てがそれぞれに
・自分のY座標
・自分のX座標
・自分の進む方向
・自分のスピード
・自分の当たり判定
なんていう情報(変数)を持っている。
なのでまず元の設計図となる弾というオブジェクトを作ってそれをコピーして100個のオブジェクトで弾を管理する
といった場合に使用する

bear = new Sprite(32, 32);
Spriteという設計図をもとにインスタンス生成してbearに代入している。
32,32という数値があるけど、これは投げ値
オブジェクトにはnew演算子でインスタンスが生成される際に指定されたfunction(コンストラクタという)を実行する機能があり、
そのfunctionに値を投げてる。
もとのコードが分からないので何とも言えないけど、32*32のスプライトを作ってってことじゃないだろうか

new演算子はすっごい難しい。自分がプログラム半分挫折してるのはコイツのせい。
オブジェクトだけでプログラムを構築していく方法をオブジェクト指向といい、
これが理解できればJAVAやC#なんかも出来るようになるかも?

以上。長々とごめんなさい <> VIPにかわりましてGEPPERがお送りします<><>2012/03/02(金) 13:09:55.24 ID:IncFq0RCo<> >>56-58
いえいえ、2chとは違って流れも遅いですしプログラムコーディング解説は長文になるのも仕方ないですよ
ありがとうございます

何となくは理解出来ました
varの用法はしっかりと理解させて頂きました

取り敢えずアナタの解説で察したことは「最適化なんて最初は無視だ!後からやれば良いんだおwwwwww」ですねww
これHTMLでも同じなんです、取り敢えずは汚いコードでも先ずは考えたデザインを表示するんです
new演算子が難しいのは察しました。例えば100個のコピーから100個全体の相互関係を意識し100個を個別に処理させるわけですから大変です。

難しいのならば、自分は初心者ですしnew演算子なんて使わないで100の変数を用意しちゃいますww
無駄に糞長いコードのなるでしょうが最適化は動くものを公開した後にゆっくりやれば良いのですww
プレイヤーにとってソースコードがどうなってるかなんて興味の範疇外ですからね
ゲームの見た目さえ変わっていなければ最適化したコードを後からこっそり更新してやれば良いのですwwwwww

いやはやプログラムは難しい、参考書籍が無いので尚更です。
まだまだ迷惑かけると思いますが今後もよろしくおねがいします。 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/02(金) 17:06:29.64 ID:/7VhzMdQo<> 参考書籍が届かないので話のネタにでも週アスサンプルゲームの公開です

http://jsrun.it/Tanzo/d134

PCブラウザ、Androidブラウザでの動作確認済み
爆弾を避けて遊ぶゲームです <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/03/02(金) 17:09:29.91 ID:P3N4jBpgo<> >>60
iPhone4S safari
ちゃんと動作しますた

面白えwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww <> VIPにかわりましてGEPPERがお送りします<><>2012/03/02(金) 17:26:38.77 ID:/7VhzMdQo<> >>61
動作報告ありがとうございます

参考書籍が届いたらこれもカスタマイズしてみようかと考えてます

あまりにも暇なんでBlenderのダウンロード中です
コマンドは以下の通り

sudo add-apt-repository ppa:cheleb/blender-svn && sudo apt-get update && sudo apt-get install blender

何度もパスワードを打たなければならない時は&&で複数コマンドを命令してやると楽です
ただし設定とか複雑なことをやる時は&&を使わないほうが良いと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/02(金) 18:03:42.17 ID:/7VhzMdQo<> Blenderをインストールした理由は、今回VOCALOIDを題材にしたゲームを作るという目標から
画面へ表示するキャラ素材を作る為ですね絵心無いんで3Dで手っ取り早く作りたいと思います

もしかしたら「3Dモデルなんて使わないで俺様が描いてやんよ(`・ω・´)シャキーン」と男気ある絵師さんが
居るかも知れませんが、初心者が作る上手く完成するか判らん企画に労力使うこと無いですwwwwww
もしそんな男気をおいらへ見せてくれるとしたら完成した後に良ければして下さい
絵師さん以外の音師さん、まさか居ないと思いますが3Dモデラーさんも同様です
労力は他で使って下さい、完成した後に協力して頂けたら嬉しいと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/02(金) 23:34:41.77 ID:/7VhzMdQo<> 届かなくて届かなくて我慢できずに自分で勉強始めちゃいましたww
粗方理解したら再び同じ形式で公開します <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 02:35:45.83 ID:oEYitEJLo<> 単純に熊を表示するだけの実験作を公開します
http://jsrun.it/Tanzo/1a2u

ついでにおいらのjsdo.itのページです
ここで順次制作物をアップしていきます
ソースが見られるサイトなので勉強するなら持って来いだと思います
まともなの完成したら9leapの方にもアップしましょうかねww
http://jsdo.it/Tanzo/ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 03:12:27.84 ID:oEYitEJLo<> 明日はこの熊を動かしてみようかと思います
可能ならば指に追従する様な感じに仕上げたいですね
爆弾避けみたいな感じで <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/03/03(土) 03:16:38.67 ID:vyVtXj9Ho<> 熊表示くらいなら1〜4行で出来るような <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 03:22:58.53 ID:oEYitEJLo<> >>67
そうなんですか?
手元に参考書籍が無い状態なのでググったりコードを書き換えて挙動を見たりして頑張りました
最適化は後回しで取り敢えず動作させるのを念頭にやってます

まぁ動いてくれたので今度は最適化ですねw <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/03/03(土) 09:36:51.36 ID:45l1yRHqo<> あっ、Javaか
CとかBASICとかじゃないんだね 失礼

ほぼ独学ってすごいなあ… <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 09:55:19.03 ID:oEYitEJLo<> >>69
パソコンからアクセス頂いて右クリック→ソースを表示とするとソースコードが読めますよ
興味があればどうぞ

ちなみにJAVAじゃなくてJavascriptです <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 10:30:58.33 ID:oEYitEJLo<> >>40で自分が語ったデータの小分けですが、この想定は当たっているようですね
>>65のコードに1行加えました

<script type="text/javascript">
   enchant();
   window.onload = function()
   {
    var game = new Game(320, 320);
    game.fps = 24;
    game.preload('chara1.gif');
    game.onload = function()
    {
     var bear = new Sprite(32, 32);
     bear.image = game.assets['chara1.gif'];
     bear.frame = 0;               //この行を追加
     game.rootScene.addChild(bear);
    }
    game.start();
    }
</script>

更に同じコード繰り返しペーストして先ほど加えた1行のコードをbear.frame = 1;と数字を1にします
これをブラウザで動作させてみると表示されるのは歩いてる熊です

目に見えにほど高速に直立熊から歩き熊へレンダリングされるので熊表示コードが繰り返されているのに
視覚的には気づきませんが、おそらく上から順に動作していると思われます

今日はまずタッチイベントを挿入し、画面がタッチされたら熊の表示を切り替えると言うものをまず作ってみたいと思います
あまりにも高速にレンダリングされるため、想定通りしっかりと動いてるか判らないのでそうしますww
これが成功すれば一度にゲームを読みこまなくとも良いと判りますね

その後、指に追従する熊をやってみたいと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 10:41:34.36 ID:oEYitEJLo<> 徐々に様々なデザイン案を思いついてます

例えばenchant.jsのプレロードイベントは黒背景に白いバーでなんだか素っ気ないです
それを改変するにはライブラリ自体に手を付けなければならないですが、ほんの少しだけグラフィカルに改変したいと考えてます

そして可能ならばenchant.jsロゴを表示し「えんちゃんとどっとじぇいえす♪」と可愛く女の子に読み上げて貰いたいものですね
まぁ今回はVOCALOIDを題材にしたゲームなので初音ミクを購入しミクに読み上げて貰っても良いですが、出来れば自分制作の
enchant.js利用ゲームではずっと使っていきたい音声です
それにVOCALOIDを安全に動作させようと思ったらWindows起動しなくちゃいけなくなりますしねwwwwww

まぁもしくは毎回ヒロインキャラの声を当ててくれる方に読み上げて貰う・・・でしょうかねぇ <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/03/03(土) 11:47:06.57 ID:yo5R8aEyo<> 読み上げなら「VOICEROID+」の方がいいと思われ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 11:54:51.54 ID:oEYitEJLo<> >>73
あぁあの新しい奴だね紫髪の
まぁいつかはVOCALOIDシリーズを全て購入しようと思ってますから買いますよ <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/03/03(土) 12:08:35.34 ID:yo5R8aEyo<> それもあるけど違う
AH-softっつー会社から数種類出てる <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 13:19:53.51 ID:oEYitEJLo<> >>75
そうなですか
調べてみますね

しかし参考書籍があればここまであーだこーだと調べる必要は無いんでしょうねぇ・・・
もうTSUTAYAオンラインで本買わないorz
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 18:42:52.28 ID:LJW+DgEvo<> 超単純に熊を横へスライドさせました
http://jsrun.it/Tanzo/spZi

コツコツと高度な事をやっていってます
同じJavascript初心者さんには参考になると思います
まぁ上級者さんから見たら簡単なコーディングでしょうがね <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 20:28:02.74 ID:DkYZ/Uwso<> >>77は単純に熊がスライドしていくだけです
そこで歩いているっぽく見せるために1行を追加して見ました

bear.x += 1;     //この行は熊をスライドさせていくコードです
bear.frame += 1;  //その下に歩いているっぽく見せる行を追加しようと試みました

当然ながら全ての熊画像が表示してしまい失敗
むむむ・・・もう少し勉強が必要ですな(´・ω・`)
つまり0と1と2の範囲だけを使えば良いわけですからそれを計算式で表現すれば良いんですかね?
ちょっとまた潜ります
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 20:32:33.60 ID:DkYZ/Uwso<> あっアレか?if、else ifがここで登場するのか?(`・ω・´)シャキーン
もしもhogehogeであれば(でなければ)fooを実行ってやつだ!

書き方解からんので調べてきます <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 20:44:50.08 ID:DkYZ/Uwso<> bear.x += 1;
if (bear.frame = 0) {bear.frame + 1}
if (bear.frame = 1) {bear.frame + 1}
if (bear.frame = 2) {bear.frame - 2}

失敗例です
繰り返すと思ったんですが繰り返さず失敗ですorz
繰り返しの方法を調べなくてわ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 20:50:56.65 ID:DkYZ/Uwso<> bear.x += 1;
if (bear.frame == 0) {bear.frame += 1};
if (bear.frame == 1) {bear.frame += 1};
if (bear.frame == 2) {bear.frame -= 2};

こうでもなかったです失敗orz <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 21:10:37.05 ID:DkYZ/Uwso<> そうか・・・1フレーム毎にカウントして画像を切り替えなきゃならないんですね

bear.x += 1;
if (bear.frame == 0)
{
 bear.frame += 1;
}
if (bear.frame == 1)
{
 bear.frame += 1;
}
if (bear.frame == 2)
{
 bear.frame -= 2;
}

おそらくコレは間違いじゃないわけです
しかし一瞬で処理されてしまい視覚的には画像は何にも変化がない状態なんですねきっと
そこで間に1フレーム進めば画像を切り替えると言う命令が必要になってくるんだと思います
それを調べなくては・・・(´・ω・`) <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/03(土) 21:13:55.73 ID:DW8NsEKWo<> ちょっと色々と間違ってる…
あまり急がずに教本届くのを待った方がいいかも <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 22:27:18.16 ID:DkYZ/Uwso<> 色々・・・だと?

そうですかぁ(´・ω・`)
しかしこのパズルを解く感覚が何とも言えないわけですよwwwwww
アドバイスに従い、ゆっくり考えますね
<> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/03(土) 23:01:07.28 ID:DW8NsEKWo<> とりあえず>>82のif文はelse ifにしないと0~2のどの数値がきても0になります。
もうちょっと工夫するともっと短くかけますよ

あと今やろうとしていることの正解はこれです
http://wise9.github.com/enchant.js/doc/ja/symbols/enchant.Sprite.html#frame
frameに配列を投げてあげればフレームごとにアニメーションします
こういうのは結局知らなければ使えない訳です。
教本を読んで十分に知識を付けてから制作にとりかかるのがいいと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/03(土) 23:16:08.66 ID:DkYZ/Uwso<> >>85
やはり教本は必要ですよね・・・
ありがとうございます
ソースコードから読み取るのは限界があるか・・・ <> VIPにかわりましてGEPPERがお送りします
(大阪府)<>sage<>2012/03/04(日) 01:56:59.30 ID:REmgsOV8o<> いままで見てて放置してたけどJavascriptっぽくなったからアドバイス
・今ゲームのfpsは24なのでうまく動いたとしても一秒間に24回画像が切り替わります。
・ループする数字を作るときは"%"(剰余演算子)をうまく使うといいです。
今回の例だとbear.frame = (bear.frame+ 1)%3; こんな感じですね
bear.frameが0の時(0+1)を3で割ったあまり => 1
bear.frameが1の時(1+1)を3で割ったあまり => 2
bear.frameが2の時(2+1)を3で割ったあまり => 0
と0,1,2,0,1,2となります。
//そのほか有名なのに1と0交互にするときは i = 1 - i というのもあります

応用で
・幅を指定して右端まで行ったら左端に戻る
・幅を指定して右に行ったり左に行ったりする
とかやってみたらいいんじゃないでしょうか
<> VIPにかわりましてGEPPERがお送りします
(大阪府)<>sage<>2012/03/04(日) 02:06:09.95 ID:REmgsOV8o<> >>82
//最初 bear.frameは0です

bear.x += 1;
//いまは関係ない

if (bear.frame == 0)
{
 bear.frame += 1;
}
//0なので実行されてbear.frame=1

if (bear.frame == 1)
{
 bear.frame += 1;
}
//1なので実行されてbear.frame=2

if (bear.frame == 2)
{
 bear.frame -= 2;
}
//2なので実行されてbear.frame=0

となりbear.frameは永遠に0のままです

あと
number += 1;

number++;
とかけます(number--もあります) <> VIPにかわりましてGEPPERがお送りします
(チベット自治区)<>sage<>2012/03/04(日) 04:11:37.16 ID:gUI9KhLto<> >ID:DW8NsEKWo
別に教本届くまで自分なりに持ってる知識だけで試行錯誤したっていいんじゃね?
ファンプログラミングの醍醐味って自分でやり方を考えるところにあるんだし、
ただ正解を調べて実装するだけじゃ効率はいいかもしんないけどつまんないよ
配列使わなくっても例えば0,1,2の繰り返しならこんな形でも良いワケでそ?

bear.x += 1; //クマを1ドットずらして
bear.frame += 1; //とりあえずフレームも毎回増やす
if (bear.frame == 3) //もし増やし過ぎてフレームが3になっちゃったら
{
 bear.frame = 0;、//そん時はフレームを0に戻す
}

これなら>>1が今持ってる知識だけでも書けるっしょ <> VIPにかわりましてGEPPERがお送りします
(愛知県)<>sage<>2012/03/04(日) 04:22:17.66 ID:bZkZfJjTo<>
一応絵描けるけど役に立ちたいなぁ 下手だけど

よければ1枚絵うpしていいかな
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/04(日) 14:07:00.36 ID:tjuShmono<> >>87-88
おぉ!有り難う御座います!
アドバイスを参考に色々実践して理解するまで試してみようと思います!

>>90
描いていただけるなら、むしろお願いしたいくらいですよ
VOCALOIDを題材にと言いましたが、これは今の所の最終目標ですので
描くのはVOCALOIDじゃなくとも全く構いません
練習コーディングの素材に使ったりも出来ますからね
素材は沢山あって悪いものでは無いとおいらは思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/04(日) 14:22:29.06 ID:tjuShmono<> 今日は皆さん休日でしょうが、実はおいらは仕事です

少し変わったローテーションでして、2勤務2待機1休日なんです
待機は仕事があったら呼び出され、無ければ自宅待機な日ですね
待機日はいつ呼び出されるか解らないので遊びには行けません

今日は勤務日ですね
まぁこんな変わったローテーションなので仕事が無い待機日にはプログラミングして暇を潰そうと思い立ったわけです
プロバイダ規制されるまでは2ちゃんねるで真っ昼間から下らないこと書き込んでたんですけどね <> VIPにかわりましてGEPPERがお送りします<><>2012/03/04(日) 14:36:53.97 ID:tjuShmono<> Javascriptってこう言う仕事の合間でもスマホとか使えばコーディング出来て便利ですよね
コンパイルが必要無い(実際は必要だが自動的に行われる為に正確には開発者がコンパイルを意識する必要がほぼ無い)わけですからスマホでもコーディング出来てしまいます

更にenchant.jsライブラリではスマホでも動作する様に機能を潔く削り絞っているらしいです
良い暇つぶしを見つけたなぁと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/04(日) 14:58:36.86 ID:tjuShmono<> うおぉぉ!走ったお!ヽ( ゚д゚ )ノ
高速で切り替わって不自然だけど走りました!
これを改変して往復とかさせる練習問題ですね!
頑張りますよ! <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 09:01:52.60 ID:89l8vbuXo<> bear.x += 4;
bear.frame += 1;
if (bear.frame ==3)
{
bear.frame = 1;
}
if (bear.x ==320)
{
bear.x = 0;
}

繰り返し成功です

ここから今度はY座標方向へ下ろうと考えてますが上手く行きませんね
おそらくはbear.x += 1と衝突してるんじゃないかなと推測しています <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 09:42:10.70 ID:89l8vbuXo<> VOCALOIDゲームの為に最低限おいらが学ばなければいけない処理系が徐々に見えてきました
WebGLは使えれば便利でしょうがまだまだ遠い到達点ですね
基本的な画像の処理やタッチイベント処理をまず覚えなくてはなりません

目標到達点を明確にする為に外部仕様書を書きました
Javascriptを理解する毎に変わっていくでしょうが
暇潰しとは言え10代の若い子に負けたくないと言う想いから考えた
ゲーム構想ですから外部仕様書によってコーディングの難易度が
見えてきた感じです

そして早く届けよ教本!!!!! <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 11:36:25.55 ID:89l8vbuXo<> 手詰まりなのでどうでも良い話を

世の中には色々なテキストエディタがありますね
Windowsだと日本語環境で絶大な支持を集める「秀丸エディタ」
フリーであれば「サクラエディタ」、「TeraPad」辺りが有名なテキストエディタに
なるんじゃないでしょうか(メモ帳は抜きにして)

しかしある特定の分野では絶大な支持を誇るテキストエディタと言うのもあるんです
例えば2ちゃんねるならば「チラシの裏」とか有名ですね →ttp://yuukiremix.s33.xrea.com/chirashi/

おいらが使う「GVim」もその一つで、「Vi」と言うテキストエディタから派生したものなんです
ビル・ジョイという方が開発したテキストエディタなんですが、それのMODバージョンを「Vim」と言います
「Vi」「Vim」はそもそもCUI(ターミナル/コマンドプロンプト)で動くテキストエディタでした
それをGUI(マウスとか)で動かせる様にしたのが「GVim」です

Vi系のテキストエディタはUNIX文化圏で多用されるエディタでキーボードメインでパソコンを
操作するユーザーから支持されるテキストエディタになってます
ショートカットが多彩でホームポジションから手を動かさなくてもスクロール移動や検索置換、
文頭末への移動、行単位での削除、挙げればキリがないほど色々出来ます

その特性からプログラマに人気が高く、おいらのようにマークアップ言語を使うユーザーにも
一定の人口を持っています、中にはこれで小説を書いてしまう人も居るそうな

同様の機能を持ち、更に高機能で、今もなおバージョンアップを重ねるテキストエディタに
「Emacs」と言うのもあります、こちらもUNIX文化圏で人気です
オリジナル版もViと同様にCUIで動くものであり、GUIで動く派生版に「XEmacs」と「GNU Emacs」が
あります

おいらが何故より高機能な「Emacs」を使わないかといえば高機能過ぎるからですね
双方ともプログラマに好まれますが、「Vi」はテキストを扱うことへ主眼を置いています
「Emacs」はWebブラウザにもなりますし、ToDo管理も出来ます、IRCチャットで話すことや
テトリスなどのゲームだってプレイ可能です、2chブラウザにもなります
正直ここまで要らないおwwwwww
「Emacs」はFirefoxで全てを済ませるなんてユーザーと親和性が高いんですね

おいらは「GVim」で十分です
ちなみに「Vim」も「Emacs」もWindowsやMac、Androidへ移植されてるので使ってみてはいかがでしょうか?
おそらく「使いずれぇぇぇぇぇぇ!!!!!!!」と最初は発狂すると思いますwwwwww
馴れれば他のテキストエディタに満足行かなくなりますよ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 11:51:23.35 ID:89l8vbuXo<> GVimってこんなテキストエディタ

もちろん強調して色を変えてくれる
ttp://www.dotup.org/uploda/www.dotup.org2713848.png

縦横分割してコードが長くなっても安心
ttp://www.dotup.org/uploda/www.dotup.org2713854.png <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 12:07:11.18 ID:89l8vbuXo<> あっ手詰まりが解消するかも知れないぞ!
試してみよう <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 12:35:30.71 ID:89l8vbuXo<> むむむ・・・?

if (bear.x ==0){bear.x += 1;}

こうじゃないのか?
1ドットしか動かない・・・orz
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 13:07:54.15 ID:89l8vbuXo<> くそぅ・・・流石は練習問題です・・・
手詰まり・・・

もしも座標が0ならば1ドットずつ追加して、もし座標320なら1ドットずつ減らす
この様に考えたわけですが違うんですね・・・ <> VIPにかわりましてGEPPERがお送りします
(大阪府)<>sage<>2012/03/05(月) 13:32:45.17 ID:3xKOKur0o<> それではヒントを
1つめの方法は新しく変数を作成してそれを見てifで分岐して移動する方向を変える方法
2つめの方法は移動する量を変数にして、指定幅になったら移動する量を反対にする方法


//答え
1つめの答え http://jsdo.it/aki017/d2EQ
2つめの答え http://jsdo.it/aki017/o5uj


>>101
>もしも座標が0ならば1ドットずつ追加して、もし座標320なら1ドットずつ減らす
>この様に考えたわけですが違うんですね・・・
この文章を見ても0の時は1ドット右に行くけれど1の時動かないですよね。。。

<> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 13:43:27.67 ID:89l8vbuXo<> >>102
>この文章を見ても0の時は1ドット右に行くけれど1の時動かないですよね
( ゚д゚)ハッ!
くそぅ・・・機械言語は相変わらず融通効かないですorz

答えは見ませんよ!ヒントだけで解いてやる!!! <> VIPにかわりましてGEPPERがお送りします
(大阪府)<>sage<>2012/03/05(月) 14:25:03.23 ID:3xKOKur0o<> こう考えたらいいですよ

はじめは右に進む
右端に着いたら左に進む
左端に着いたら右に進む
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 15:23:39.22 ID:89l8vbuXo<> 出来ましたヽ(´ー`)ノ

if (bear.x ==0){bear_move =320;}
if (bear_move >bear.x){bear.x += 1;}
if (bear.x ==320){bear_move = 0;}
if (bear_move ==0){bear.x -= 1;}

もっと短い最適化があるような気もしますが取り敢えずコレで <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 15:51:19.29 ID:89l8vbuXo<> >>102
2つ目が理解できません・・・

dxへは1が代入されてます
bear.xへdxの加算を続けます
bear.xが320へ到達した時にdxへ-dxを代入します(つまり-1が代入?)
bear.x(320)へ-1を加算し続けます(つまり1を引き続ける)
bear.xが0へ到達した時に・・・dxへ-dxを代入???

分かりません・・・ソースコードが読めない・・・orz <> VIPにかわりましてGEPPERがお送りします
(大阪府)<>sage<>2012/03/05(月) 15:54:58.19 ID:3xKOKur0o<> dxっていうのは移動量です
dxが1の時1フレーム毎にx+1するってことです
320になったとき移動量が-1になると言うことは後ろ向きに移動するということで
0に戻ったらまた+1にもどるので右に動き始めるわけです
この書き方だと加速する動作とかが書きやすいですまた後でサンプル出しますね <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 16:05:43.93 ID:89l8vbuXo<> dxが移動量なのは理解していました

よく解らないのはbear.x≦0となった時、なぜ-dxを代入して数値が増えるのか?なんです
bear.xが320の時点で移動量をマイナスへ転じれば戻るのは理解できます <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 16:12:57.77 ID:89l8vbuXo<> ん・・・相対方向?
進んでた方向を正ベクトルとして-dxは負ベクトルを加算しているのでしょうか?

自分の式の場合、絶対方向で処理され加算は必ず正ベクトル、原産は必ず負ベクトル
しかしID:3xKOKur0oさんの式では現在進んでいる方向が正ベクトルとして処理され、
そこへ負ベクトルが与えられるから正負が逆転する・・・と言うことでしょうか? <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 16:39:37.82 ID:89l8vbuXo<> この式の場合、そういうもんなんだって理解じゃ後々後悔しそうです
どういう流れで計算処理が行われているか理解しないと・・・

dxには1が代入されている
bear.xに+1が代入されたdxを加算し続ける
bear.xは右方向へ移動する

bear.xが320へ到達した時にdxへ-dx(つまり-1)を代入する
bear.xへ-dxを加算し続ける
bear.xは左へ移動する

bear.xが0へ到達した時に-dxへ-dxを代入する・・・?
本来ならここで-dxを代入したら左へフレームアウトするはず

しかし今回の場合は左へフレームアウトせず右へ移動を始めた
何故?-dxに-1が代入されているのなら左へフレームアウトするはず

考えられるのは相対方向、もしくは負数の掛け算
dxへ-1を掛け算して-dx(つまり-1)とする
-dxとなったものへ更に-1を掛けて+1とした

つまり(-1)*1、そして(-1)*-1
-dxは-(dx)と考えれば良い? <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/05(月) 17:17:34.78 ID:hphDXsNHo<> おk
-dxは(-1)*dxのコトだと考えればいい
若しくは 0-dx と考えてもいいかも
どっちの計算でもdxの中身が1の時は-1が代入されるし、
中身が-1なら1が代入される <> VIPにかわりましてGEPPERがお送りします
(大阪府)<>sage<>2012/03/05(月) 18:33:37.76 ID:3xKOKur0o<> -(-dx) = dx
ベクトルで言うとdxはベクトルのx成分ってことになるね。
そんでもって-dxは逆ベクトルのx成分ってことになります

>>111の言うとおりで-dxって言われてぴんとこないなら(0-dx)でと思ったらいいと思う。 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 19:04:08.80 ID:89l8vbuXo<> なるほどです

加速度計算が何故し易いかも何となく理解出来ます
この方式は相対方向の計算が楽なんですね
おそらくは三点を通過する曲線の描写も簡単に記述できるんでは無いかと予測してます
そして曲線中間点に変数や乱数を利用しても楽に記述できると思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 19:28:34.18 ID:89l8vbuXo<> ( ゚д゚)ハッ!
熊さんじゃY方向のイメージが無い! <> VIPにかわりましてGEPPERがお送りします<><>2012/03/05(月) 20:10:27.45 ID:89l8vbuXo<> 取り敢えずここまでの成果をうp
ttp://jsrun.it/Tanzo/mKlT <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/05(月) 21:11:18.09 ID:gNzrkWtyo<> おお、素晴らしいw <> VIPにかわりましてGEPPERがお送りします(愛知県)<>sage<>2012/03/06(火) 03:52:16.99 ID:vud5/hmvo<> >>90だけど
ドット打てないしフォトショも使えなくていいなら描きたいな
画力は最近描いたのでいいならhttp://beebee2see.appspot.com/i/azuY_Jz3BQw.jpg
タイトルとかアイコンとかかな

<> VIPにかわりましてGEPPERがお送りします<><>2012/03/06(火) 08:37:49.80 ID:bgg5Jb7no<> おはようございます
今日も社畜は仕事ですよ( ゚Д゚)y─┛~~

アレですかね?jsdo.itで使ってる“鍛造”と名乗った方が良いですかね?
まぁここは自分のスレなので別にコテ無くても問題ないでしょうが

>>117
おはようございます

失礼な言い回しかも知れませんが、ここまでレイヤーを使いこなしていればオイラ的には十分合格点ですヽ(゚∀゚)ノ
オイラがメインに使ってるグラフィックスソフトはGIMPですから何も問題ありませんよ
ベクターだとInkscape、3DCGだとBlender、フリーソフトの定番ばかり使ってます
絵も描けないくせに近々ペンタブ(Bamboo)を買おうかな?とは考えてますね
あれば便利なので

確かにタイトル画像とかどうしようかな?とは考えてました
個人的に考えていたのはタイトルやインターフェースはSVG画像を使おうと思ってました
もしくはCANVASで描画しようかなと

しかし、先日SVGを試したら表示出来ないんですよねぇ・・・
使ったのはInkscape生成の最適SVG
もしかしたら他のSVG形式ならば表示出来るかも知れないので要実験ですね <> VIPにかわりましてGEPPERがお送りします
(愛知県)<>sage<>2012/03/06(火) 08:44:58.52 ID:vud5/hmvo<> なるほどw
JPEG形式で画像を送ってそちらで形式変換って感じでいいかな?

進み次第どうゆう絵を描けばいいか教えてもらえれば適当に描きますw

ペンタブはバンブーおすすめですよw
絵がかけないならそれで十分ですw

<> VIPにかわりましてGEPPERがお送りします<><>2012/03/06(火) 09:06:09.79 ID:bgg5Jb7no<> >>119
もちろんそう思ってのBambooですよw
確かにIntiosとかCintiqは所有感が満たされるでしょうが使いこなせないですからねw

買おうと思ってるBambooはミディアムサイズのですね
こう言ったデバイスは大きい方が便利なので

はい、出来ればPNGで欲しいです
JPEGは劣化してしまうので
そしてキャンバスサイズは可能であるならば解像度2000px以上を目指していただけると嬉しいです
無理ならば作業に支障を来さない範囲での大解像度を目指して戴きたいです

SVGやCANVASを使おうと思った理由はマルチプラットフォームだからですね
小さい画面であるならNintendo3DS、大きければ液晶テレビになるわけですから
解像度やディスプレイサイズが極端に環境によって違います
まぁSVGやHTML5+CSS3の対応状況も調べなくてはならないですがね

解像度2000px以上を目指す理由は、スーパーハイビジョン対策です
次世代ディスプレイの解像度は2K4K、つまり2000x4000以上なんですね
技術進歩を可能な限り吸収したいと言うのがオイラの意志なんです
どうせ暇つぶしですから目標は高く持ちたいと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/06(火) 10:09:18.88 ID:bgg5Jb7no<> まだ歩かせる事しか出来ない(むしろ参考書籍すら手元にないw)ビギナーがぶち上げるのもアレだと思うんですけどね
マルチプラットフォームとぶち上げたんですから、そこだけは守ろうと思うわけですよ(´・ω・)

そしてオイラの掲げる目標は4つです
・若い子に負けないと言うか圧勝(笑)するゲームデザイン
・マルチプラットフォーム
・WebGL
・Holophonics

どれも技術的に大変でしょうが一気に全部やるんじゃなくて一つ一つやって行きますよ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/07(水) 04:36:19.46 ID:Ts1+y60yo<> おはようございます

えぇ仕事の状況によってはこんな時間に起きてますよ・・・(´・ω・`)
今日が早起きでしたからすぐに寝て昨日はプログラミングの勉強をあまり出来ませんでした <> VIPにかわりましてGEPPERがお送りします<><>2012/03/07(水) 06:44:29.09 ID:Ts1+y60yo<> TSUTAYAオンラインで頼み今日で11日目なわけです
3〜14日ほど掛かると言う事ですから、多くとも後3日ほどでやっとゼロからはじまめる〜が手元に来るわけですよ
Amazonに馴れすぎてしまった身ではTSUTAYAオンラインが凄く遅く感じます
まだkonozamaを食らった事が無いのでAmazonは大好きです <> VIPにかわりましてGEPPERがお送りします<><>2012/03/07(水) 15:42:13.84 ID:12ZDa6j4o<> 敢えてツッコム事も無いし細かいことなんですがenchant.jsのオフィシャルリファレンスに記述ミスを見付けちゃいました

window.onload = function () {
enchant();
var game = new Game(320, 320);
game.preload('jump.wav');
game.onload = function() {
game.assets['jump.wav'].play(): ←セミコロンじゃなくてコロンww
};
game.start();
};

年齢的にもこんな事でギャーギャー騒ぐ年齢では無いので
おじさんの代わりに誰か10代の若者よ、出来れば学生が報告してあげて
もしかしたら「ゼロからはじめる〜」くらいは貰えるかも知れませんよ?ww <> VIPにかわりましてGEPPERがお送りします<><>2012/03/07(水) 17:34:32.68 ID:iBLNrhWDo<> Holophonics。
ホロフォニクスです。

これは立体音響の技術です。
YouTubeやニコニコ動画に関連の動画がうpられてますね
自分はこれをゲームに使って臨場感を出そうかなと考えています

正確に言えばホロフォニクスは秘匿された技術なので同系統のバイノーラル録音技術を使います
キャラクターのレンダリング座標に合わせて立体音響を駆使するわけですね
ちなみにヘッドフォンやイヤホンを利用しないと効果は得られません

まぁ何故こんなものを使うかといえば・・・何となくですww
敢えて理由を挙げるとするならば結構PC&スマホユーザーってヘッドフォンやイヤホン人口が多いんじゃね?と考えたからですね
その人口が多いのならばじゃあそれに合わせたソースも用意してみようと思ったんです
だってマルチプラットフォームですからねゲームをやるプラットフォームはスピーカーだけでは無いはずです

んでプログラムの進行ですが・・・往復できたから今度は一周をやろうとしてるんですね
手詰まりですよ(´・ω・`)えぇ
この後ジグザグとか斜め歩行とかしようと考えて得るのにね <> VIPにかわりましてGEPPERがお送りします<><>2012/03/07(水) 21:26:36.97 ID:iBLNrhWDo<> if (girl.x <=288){girl.x += girl_X;}
if (girl.x >=288){girl.y += girl_Y;girl_X = 0;}
if (girl.y >=288){girl_Y = 0;girl_X = -2;}

ここまでは行けました
後は登るだけなんですけどねぇ・・・ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/08(木) 06:56:38.87 ID:oTc7KK6do<> おはようございます

そろそろどんなゲームを作るか数日の内に公開したいと思います

当初は私の腕がある程度の段階、つまり構想したゲームを動かせる(最適化は抜きで)段階まで技能向上を果たしたら内容を公開するつもりでした
しかし皆さんに助けられている現状を加味しますと、特にコーディングを中心としてゲーム内容が解っていればアドバイスもし易くなるのではと思い直しました

おそらくは私のゲームデザインを公開すると、私より腕の立つ先行したプログラマの中にコンセプトを模倣する輩も出てくるかもしれないと言う予測が立ちます

かもしれない、ですから私の様な初心者のデザインなんてどうでも良いと判断される可能性だってありますよモチロン

しかしながら、皆さんと言う証人が居て下さるので、絶対的少数かも知れませんが私はその少数を大切にし感謝し、私が生み出したモノに自信を持ちたいと思います

取りあえずゲームタイトルだけ公開しておきますパクられてもどうでも良いのでw
ゲームタイトルは「VALD Concept」

全てがまとまったら外部仕様書を公開します(゚д゚)/ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/08(木) 12:17:03.67 ID:oTc7KK6do<> いつもTSUTAYAオンラインショッピングをご利 用頂きありがとうございます。

誠に申し訳ございませんが、下記ご注文の商品 をご用意することができませんでした。 ご注文商品はキャンセルとさせて頂きます。 ご迷惑をおかけ致しましたこと、心より深くお 詫び申し上げます。

【該当商品】 ■注文日 2012年2月24日 ■注文番号 ******** ■商品名 ゼロからはじめる enchant.js入門 公式ガ イド/数量:1

えっ今更?( ゚д゚)ポカーン
何故、在庫無いのに注文受けた・・・
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/08(木) 12:27:22.75 ID:oTc7KK6do<> 参りましたね・・・
完全独学で頑張るしか無いのでしょうか?
ん〜・・・(´Д`;) <> VIPにかわりましてGEPPERがお送りします<><>2012/03/08(木) 12:31:03.30 ID:oTc7KK6do<> まぁそもそも初心者用リファレンスブックですから高度な応用までは解説していないと思ってます
もうここまで来たら本当に完全独学で頑張ってみましょうかね
取りあえずJavascriptの初心者用リファレンスブックを探しますか
enchant.jsライブラリをどう扱えば良いかは解りませんけれども <> VIPにかわりましてGEPPERがお送りします<><>2012/03/09(金) 16:45:48.76 ID:itwvNj8No<> 外部仕様書を公開します
ダウンロードPASSは0000です
ttp://www.dotup.org/uploda/www.dotup.org2727246.pdf.html

至らぬ点はご指摘下さい
よろしくお願いします <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 10:46:35.51 ID:Ngg645Slo<> 外部仕様書を公開したことにより自分がやらねばならない格闘パートコーディングを大まかに羅列してみます

・キャラクターの表示
 初期位置の設定
 タッチした座標の習得
 フリック入力の角度加速度を取得
・自キャラと敵キャラの相対距離取得
 近接距離の場合は打撃を放てるようにする
・アクションボタンの動作
 タッチした座標の取得
 近接距離でAボタンタッチ後、敵キャラタッチで打撃
 Sボタンタッチ後、オーラエフェクトを表示
 エフェクトを表示している間にフリック入力で飛び道具
 Dボタンをタッチしている間は防御
・当たり判定
 攻撃手法の違いによるダメージ表現差分化
 攻撃手法、防御体制を加味した体力ゲージの減算

これらのコーディングは基本的な格闘ゲームとそう大して変わらず
変更点はタッチイベントだけであることが判ります
もしかしたらオープンソースで開発されている格ゲーのソースが参考になるかも知れません <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 10:56:53.99 ID:Ngg645Slo<> 外部仕様書には記述しませんでしたが、この入力方式で大きく影響を受けたのが”大乱闘スマッシュブラザーズ”です
スマブラは既存の複雑化した格ゲーの入力方式を簡略化しながらもゲーム性を損なうこと無く出来ています
攻撃に関するキーが少なくともスマブラではジョイスティックと組み合わせる事で多彩な技を放てます

それらの入力方式を参考にタッチイベントへ応用し、攻撃ボタンを押した後のフリックで技を変更することが可能だと思っています
例えば攻撃ボタンをタッチした後に下斜め方向へフリックすることでスライディング攻撃などです
更に自キャラが空中に居れば下降型の対地攻撃なども可能だと踏んでいます <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 12:38:07.65 ID:Ngg645Slo<> VALD Conceptの根底として外部仕様書にも記しましたが”ドラゴンボールの戦闘を再現する”と言うものがあります
有名タイトルに”超武闘伝”などがありますが、当時のハードウェアから考えてもアニメーションを多用したあの方法が
世界観を表現する限界だったのではないかと私は思ってます

それ以前(ファミコン)のドラゴンボールタイトルはベルトロールアクションゲームかカードゲームだったので
SFCでアニメーションが多用できるようになったのはハードウェアの進化に他ならないと想います

現在、アーケードゲームにカードバトルのドラゴンボールタイトルがありますが回帰なんですね
まぁ子供向けと言う事もあり解りやすい第1世代が選ばれたと言う事もあるでしょうが

ドラゴンボールタイトルはプレイヤーの年齢に合わせて複雑化していったと言う流れがあります
最も複雑化したのが”ドラゴンボールZ インフィニットワールド(プレイステーション2)”ですね
おそらくこれがハードウェアの、従来型コントローラ入力方式の限界なんだと思います
制作スタッフも頭を悩ませたことでしょう
実際、グラフィックスの美しさや入力の完成度は高いものとなってます

しかし、この限界を突破するにはハードウェアを変えるしか無いわけです
ハードウェアさえ変われば私のような素人でも今までの限界を軽く突破する発想を持てます <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 15:09:45.43 ID:eZ6EkGklo<> 実は個人的に格ゲーであるならばSNKの様なコンボが主体戦法となるよりも、
コンボがおまけ的な感じのあるストリートファイターの方が好きです
カプコンvsSNK2が一番好きな格ゲーですね

ただやはりドラゴンボールの様な戦闘と言う事であればSNKの様な
戦法を取るゲームの方が爽快感的に良いと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 15:29:49.07 ID:eZ6EkGklo<> 今週のアスキーにゼロからはじめるenchant.js好評発売中との広告が・・・
だったら買わせてくれよ・・・別にタダでくれなんて言ってない・・・
enchant.jsの勉強をまともにさせてくれよ。・゚・(ノД`)・゚・。 <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/10(土) 16:31:43.43 ID:K7emLt1Ao<> 紀伊国屋に在庫あるってよ(16:30現在)
http://bookweb.kinokuniya.co.jp/htm/4048862588.html <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 16:31:56.74 ID:eZ6EkGklo<> 参りましたね
enchant.jsライブラリの使用方法が全く解らない
公式リファレンスは理解出来ますが、ドキュメントが
簡潔文過ぎてどこをどうしたら良いのか解らないですね
そもそもどのコードがenchant.jsライブラリのコードなのかも解らない

うーん・・・1から全部試すか・・・
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 16:33:48.68 ID:eZ6EkGklo<> >>137
いつの間に!
以前までは無かったんですよ!

またTSUTAYAパターンだったらどうしよう・・・
でも有り難う御座います!
ポチりますよ! <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 20:30:30.42 ID:oZMseh86o<> ぐぉ・・・チェックディスクの最中に誤ってウィンドウ閉じたらxubuntu起動できなくなりましたorz
まぁデータ用ドライブに各種データは保存してるんで消えるのはソフトだけですが・・・ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 20:42:40.60 ID:oZMseh86o<> アレですね
じゃあいっそのことxubuntuのインストール方法のマニュアルを作るつもりで
プリントスクリーンしながら再インスコしようと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 21:11:46.30 ID:dk9/xNdvo<> あー・・・自動でアンマンウトされてしまいました
どうやらLinuxのインストールhow toをやってる人達は複数のパソコンを使ってやってるみたいですね
残念 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/10(土) 21:38:50.08 ID:dk9/xNdvo<> 紀伊国屋でポチリましたよ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/12(月) 12:39:06.74 ID:CXoUa50to<> 紀伊国屋からまだ返信がないですね
イヤな予感・・・(´Д`;)

取り敢えず紀伊国屋から本が届いたらそれを参考にPONGを作ってみようかなと考えてます
PONGを知らない人はChromeマーケットとか各種ソフトウェアマーケット辺りで
「PONG」と検索していただければ、ほぼ確実に発見出来ますので興味があればプレイをどうぞ

PONGは今で言えば原始的なゲームですね
感覚で言えばゲーセンのエアホッケーです
私はこれに全てのアクションゲームの基礎が詰まってると思ってます
PONGが作れればシューティングゲームだろうが、ベルトロールアクションだろうが、格ゲーだろうが、レースゲーだろうなパズルゲーだろうが作れる
ゲームプログラミングの基礎中の基礎だと私はPONGをプレイしていて感じるのです <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/12(月) 16:00:39.13 ID:6G4Q/J++o<> 基本中の基本だよな>Pong

因みにさっき紀伊国屋見たら「在庫ございます」になってたから、
昨日の営業終了までの時点では在庫があったってことなので
多分大丈夫なんじゃね?
最悪zamaっても今月中旬ぐらいには増刷分が出回り始めるしな <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/03/12(月) 21:43:34.80 ID:bNPZucwco<> PONGって超レトロゲーのホッケーみたいな奴だよね? <> VIPにかわりましてGEPPERがお送りします<><>2012/03/12(月) 22:18:41.17 ID:dX44pJIPo<> >>145
週アスは結構テキトーですねぇww
在庫が至る所で枯渇してるのに”好評発売中”ですもんww

>>146
そうです
初期型の家庭向けPONGはダイヤル式のコントローラーを採用してました

>>125さんが言うように基礎中の基礎
ゲームプログラミング解説書ではシューティングゲームをゲームプログラミングの基礎中の基礎と位置付けてますが
PONGに比べればシューティングゲームは無駄の多いコードと私は感じます

シューティングゲームが基礎と位置づけられる前まではPONGが基礎と位置づけられてました
未だに一部の若手ゲームプログラマはPONGをカスタムしてオリジナル版をリリースしてますね
私もその流れに便乗してみようかと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/13(火) 00:41:07.65 ID:ncCC8plio<> で、私のカスタムはどう言う方向へ持っていくかと言いますと”バイノーラルサウンド”を追加したものにしようと考えてます
その他、経過時間で球を増やすなんて試みはすると思いますが、重点はバイノーラルです

バイノーラルは外部仕様書の基本情報でも触れていますが、気になる方はYouTubeかニコ動で
”バイノーラル”または”ホロフォにクス”または”立体音響”で検索して下さい

どの様にバイノーラルを採用するかと言いますと、ゲーム画面座標にバイノーラルサウンドを紐付けし
球の移動音として鳴らすと言う方向で持って行こうと考えてます

自分のバーから離れれば離れるほど音を低くすると言う感じにしましょうかね
立体音響と音階で理論上は”球非表示モード”を搭載しても遊べるはずです
まぁAndroidの9leap公式アプリでは音が鳴らないのでパソコンユーザのみ立体音響で遊べるとなってしまいますがね
jsrun.itのURLリンクを載せられるならAndroidでもFirefoxまたはOperaで立体音響を楽しめますが <> VIPにかわりましてGEPPERがお送りします<><>2012/03/14(水) 08:52:42.49 ID:OMQf/r2Wo<> 紀伊国屋から発送通知キタ!!!!!ε=\_○ノ イヤッホーゥ!! <> VIPにかわりましてGEPPERがお送りします<><>2012/03/14(水) 09:03:23.02 ID:OMQf/r2Wo<> これでenchant.jsの基礎を押さえられますよ!

・・・本を得ると言うだけで色々ありましたが皆さんお騒がせ申し訳ありませんでした

で、本を得られない経験から一つネタが浮かびました
enchant.jsを学ぶゲームですwwwwww

実際、自分のような社会人ならまだしも学生はむしろ買うことすら
難しい方が居るのでは?と思います
だったら自分がそうやっている様に、謎解き感覚でenchant.jsを学べたら良いと思うのです

ゲーム画面座標を基準に問題を作れば理解が速まると思います
座標fooへ画像を表示せよ
座標fooから座標barへ画像を移動せよ
hogehogeの数値を増やせetc...

私のするプログラミング的には条件式でやれば正解がどうかが解ると思います
まぁこれを作るのは初心者を脱却した後になるでしょうけどね <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/14(水) 11:21:12.66 ID:Ud+kHP5Zo<> それ以前にプログラミングの勉強をした方がいいと思う
なんかenchant.jsとか言っているけどそんなレベルじゃないと思う
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/14(水) 12:01:27.26 ID:OMQf/r2Wo<> ゼロからはじめる〜の製品紹介によるとJavascriptの基礎も同時に教えてくれるようなので取り敢えずは様子見です
理解出来ない様であればJavascriptの初心者リファレンスの本を購入しようと考えています

関数プログラミングと言う概念を学べと言う意味でしたら
確かに私には関数プログラミングの理解が足りないと自覚しています
<> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/14(水) 12:10:32.63 ID:eUB7AnDTo<> 大丈夫大丈夫
enchant.js自体はプログラミングを習得してなければ使えないってもんでも無いし、enchant.js使いつつプログラミングを基礎から学んできゃいいよ
>>1は実際に手を動かしながら自分で考えてやってけるタイプみたいだから、enchant.jsがやってくれない部分にブチ当たっても自分で調べて試行錯誤しながら乗り切っていけるだろ
そうやってる内にプログラミングなんて自然と身につくさ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/14(水) 12:28:56.66 ID:OMQf/r2Wo<> いや・・・そこまで大した人間じゃないです・・・
始めた理由が2ちゃんねるに書き込めないからだし・・・ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/14(水) 12:28:58.00 ID:XIfk4dMD0<> 俺もここの>>1は自ら調べ行動するタイプだと感じる
初心者にしちゃ外部仕様書の出来が良いしプログラミング以外の知識は豊富っぽい
どんなに>>1を低く見積もってもPDFで自分の構想をまとめてくる奴はGEPで初めて見た
それだけで評価出来る
格ゲーの操作を簡略化する発想を持っても文書化したんは>>1が初だろうし少なくともタッチパネルで格ゲー作ったら>>1の二番煎じだよ
だってあれ以外の方法で格ゲー作ったら操作性悪いだろうしな <> VIPにかわりましてGEPPERがお送りします<><>2012/03/14(水) 12:31:49.27 ID:OMQf/r2Wo<> ハードルが!ハードルが!(´Д`;) <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/14(水) 12:40:21.37 ID:+ucw8FZmo<> つまり>>1△って事か <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/14(水) 12:47:12.46 ID:OMQf/r2Wo<> なにこのプレッシャー。・゚・(ノД`)・゚・。
とっ取り敢えず努力はしますですハイ・・・ <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/15(木) 03:14:32.52 ID:308+BwoFo<> 無性に応援したくなる1だ
おいらも先月末からenchant.js使い始めた。 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/15(木) 05:05:17.35 ID:TsGkor1P0<> 後に>>1が日本を代表するゲームクリエイターになるとは誰も予想しないのだった・・・ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/15(木) 19:17:25.61 ID:B0B7+aoao<> あっゼロからはじめる(ryが届きました
勉強始めます <> VIPにかわりましてGEPPERがお送りします<><>2012/03/15(木) 23:16:01.39 ID:DtGZGNXjo<> 想像してたより大きい本ですね・・・
そして解りにくいww
まぁいきなり出来るわけないですがね

先ずはPONGの為にCanvasを扱える様に練習を始めてます
画像素材を用意しても良いですが今後格ゲーを作るわけですから光弾の描画などCanvasを扱えた方が良いと考えてます

ぶっちゃけて言いますとゼロからはじめる(ryよりも先に購入しておいたHTML5解説の本の方がCanvasに関しては解りやすいですww <> VIPにかわりましてGEPPERがお送りします<><>2012/03/15(木) 23:44:26.35 ID:DtGZGNXjo<> Canvasと言うと正しくないですねSurfaceですね <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/16(金) 08:12:47.70 ID:CWlzau3oo<> PONGなら、とりあえずSpriteだけで作ってみて、あとからSurfaceとかで演出増やしてもいいような。 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 08:22:02.63 ID:Pdq4mwoRo<> おはようございます

朝からぐぬぬ・・・です
surfaceが表示出来ませんorz
単純に円を描画しようとしてるだけなんですが表示されない
これは記述方法を理解してないからなんでしょうね・・・

本を手に入れた意味ないっすねww

var maru = new Surface;
var sprite = new Sprite;
maru.drawCircle(32, 32, 32);
maru.fillCircle(32, 32, 32);
sprite.image = maru;

こうだと思ったんですが違うようです・・・
もっと調べてみましょうか <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 08:24:12.97 ID:Pdq4mwoRo<> >>164
むしろその方向の方が良さそうな気がしてきました・・・
いきなり理想に挑戦するのはやっぱり良く無いですね
理想への最適化は後回しにします <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 08:47:43.94 ID:Pdq4mwoRo<> すいません・・・ごめんなさい・・・
何をやっても何故か動かない!!!って混乱してたら同じ階層にenchant.jsを置いてませんでした本当にごめんなさい・・・
そりゃSurfaceも動かないですよね・・・ww
また1から色々試してみます


昨日から朝にかけて云々悩んだ時間は何だったんだろう・・・ <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/16(金) 11:55:37.17 ID:CWlzau3oo<> 気になったところ、確認せず投稿します。
var maru = new Surface;
var sprite = new Sprite;
は、
var maru = new Surface(32, 32);
var sprite = new Sprite(32, 32);
みたいに、大きさを指定しないと表示されないんじゃなかったっけ。 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 15:30:15.04 ID:Pdq4mwoRo<> >>168
あぁ書き忘れですねすいません

thisの使い方がイマイチ理解できませんねぇ
まぁthisを使わないでもコーディングは出来ますけどね
ただかっこ悪いコードになっちゃいますが <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/16(金) 15:43:20.26 ID:YsXrYOHvo<> 動けばええねん
カッコ悪くてええねん <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 15:47:08.98 ID:Pdq4mwoRo<> 先ずは雛形ですね
ここからタッチ座標に合わせバーを動かすわけですか

enchant();
window.onload = function()
{
var game = new Game(320, 320);
game.fps = 24;
game.preload('bar.png');
game.onload = function()
{
var bar = new Sprite(1, 16);
bar_UP = 0;
bar_DOWN = 0;
bar.image = game.assets['bar.png'];
bar.frame = 2;
bar.addEventListener(Event.ENTER_FRAME, function(){});
bar.addEventlistener(Event.TOUCH_START, function(){});
bar.addEventlistener(Event.TOUCH_MOVE, function(){});
bar.addEventlistener(Event.TOUCH_END, function(){});
}
game.start();
} <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 16:08:41.44 ID:7s5LwOJfo<> さて、頭の中でまとめていますよぉ(`・ω・´)シャキーン

まず普通にbarを表示します
画面がタッチされたらその座標を取得します
今回は球を打ち返すバーなのでX座標は必要とせずY座標のみ使います
使うのはlocalYですかね?
タッチされたY座標とbar座標を比較してlocalY>=bar.yならばbar.y+=1します

取り敢えずここまで <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 16:55:20.00 ID:7s5LwOJfo<> 動いたー≡≡≡c⌒っ゚Д゚)っズサー

enchant();

window.onload = function() {
var game = new Game(320, 320);
game.fps = 24;
game.preload('bar.png')
game.onload = function() {

var bar = new Sprite(1, 32);
bar.image = game.assets['bar.png'];
game.rootScene.addEventListener('touchstart', function(a) {
bar.x = a.localX;
bar.y = a.localY;
});
game.rootScene.addChild(bar);
};
game.start();
};

ここまで出来れば多分後はスイスイですね! <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 17:41:56.59 ID:7s5LwOJfo<> http://jsrun.it/Tanzo/hKyJ

前の書き込みのコードを公開しました
enchant.jsを調べているとプログラム自体に詳しい方がコードを解説している傾向があるようです
その為か、基礎の基礎ではなく少し手の込んだコードが公開されている事が多く、私や他の初心者さんはコードを読むのに苦労しますね
期待していたゼロから(ryも初心者は理解するのに難儀する内容です(パズルが好きな私はそれが楽しいのですがねww)
おそらく、enchant.jsで遊んでいる人間で最も単純なコードを公開しているのが私のようです

ソースコードを読むのに苦労している方は、かっこ悪いコードでよろしければ私のコードを参考にして下さい
一気に手の込んだコードを公開することは無いので徐々に一緒に学んで行きましょうね
http://jsdo.it/Tanzo ←ここの更新履歴を順に読んでいけば私と同じ順でコーディングが出来るようになるはずです

その内(VALD Conceptの目処が立ったくらい)にPDFでenchant.jsの指南書を作ってみようと思います
私が愛用してるGIMP(グラフィックスソフト)やAudacity(音声波形編集ソフト)の解説も一緒に載せましょうかね?
まぁ今後もおじさんの暇つぶしに付き合ってくれたら嬉しいと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 22:58:48.16 ID:7s5LwOJfo<> PONGの制作を徐々に始めたいと思います
取り敢えずドラッグすると上下にバーが追従するものを作ってみました
相変わらず最適化はされてませんww

http://jsrun.it/Tanzo/hKyJ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/16(金) 23:00:38.21 ID:7s5LwOJfo<> 間違えましたこっちですorz

http://jsrun.it/Tanzo/vJVp <> VIPにかわりましてGEPPERがお送りします<><>2012/03/17(土) 08:20:36.21 ID:KxxK/19Lo<> おはようございます

実はバーの動作に納得行ってないんですね
パソコンからはスムーズに追従しますがスマホからはあまりスムーズとは言えません
ただ、動けばおk最適化は後回しって方針なので取り敢えずバーはこんな感じで行こうと思います

それとenchant.jsはSVGをサポートしてないみたいですね
て言うかAndroid2.xはSVGを標準サポートしてないみたいです
標準、つまりrootを取得すればSVGライブラリ追加でサポートは可能のようですが全てのユーザーさんにライブラリ導入は
現実的じゃないのでSVGは諦めようかと考えているところです

まぁ気合いでcanvasを使って描画しても良いですが、それをする余裕が欲しいですよね
私にはちょっとそんな余裕は無いです
探しては居ないですがGIMP辺りならScript-Fuにcanvasエクスポートが在りそうな気もしなくは無いですがね

ちなみにAndroid3.x以降なら標準でSVGをサポートしています
enchant.jsの開発者さんもSVGがサポートされてるAndroid4.xスマホが普及するのを待ってるのかも知れません

私的には先進技術をどんどん取り入れて貰いたい感じです
その先進技術が応用して面白く遊べるようならゲームとしての構想も湧いてきますからね <> VIPにかわりましてGEPPERがお送りします<><>2012/03/17(土) 10:56:38.47 ID:KxxK/19Lo<> 規制が解除されたら一度VIPへスレ立てでもしましょうかね
enchant.jsがもっと盛り上がれば良いと感じます
9leapのゲームもまだまだ少ない気がしますしね <> VIPにかわりましてGEPPERがお送りします<><>2012/03/17(土) 15:03:21.42 ID:KxxK/19Lo<> ちょっとパソコンが傍に無いので色々とゲームと言うものについて考えてます

おじさんは今回タッチパネルディスプレイと言うものを与えられ、格闘ゲームの操作をタッチパネルディスプレイへ最適化し、操作を簡略化すると言う構想を打ち立てました

そうこう考えている内に在る事へ気が付きました
タッチパネルディスプレイは操作を簡略化しなければその特性を活かせないと言う事です

例えばタッチパネルディスプレイで私がテトリスとかぷよぷよみたいな落ちゲーを作るとしたら、やっぱり十字パッドは使いません
タップで回転、ドラッグ(フリック)で移動と言うように作るでしょう

そして私は思うわけです「今までのコントローラーの方が誤操作を少なく出来るな」と
しかし、十字パッドを採用すると画面が狭くなってしまいますしタッチパネルディスプレイの十字パッド自体あまり優れたものじゃないです

タッチパネルディスプレイと言うコントローラーデバイスは操作をシンプルかつ感覚的に出来ますが、逆に言えばそうせざる得ないコントローラーデバイスなんですね
この辺りがゲームクリエーターの発想を狭める要因となる気がおじさんはします

今までのゲームクリエーターが従来型のコントローラーへ縛られていた様に、これからのゲームクリエーターはタッチパネルディスプレイへの最適化に縛られてしまう不安があります
必ずしもタッチパネルディスプレイを選択する必要は無い事を皆さんも念頭に入れてくれたら嬉しく感じます

従来型コントローラーでしたらNScripterを使えば事実上マルチプラットフォームなゲームを作る事ができますしね
吉里吉里もどうやらマルチプラットフォームを目指しているようですし手法は一つでは無いんです <> VIPにかわりましてGEPPERがお送りします<><>2012/03/17(土) 15:12:41.39 ID:KxxK/19Lo<> だからこそ私はパソコンを対象とした入力救済処置を取ったのです(キーボードによる選択)
別におじさんは最初からこれに気付いていたわけではありません
救済処置を設けた時は「そうした方が良いよな」と言う感覚的なものでした
今回少し考えてみて私自身の感覚の裏付けを取ったと言うのが真相です

少なくともタッチパネルディスプレイは自由度の高いコントローラーデバイスでは無い
適材適所を考慮して自ら発想の縛りを設けたくは無いものですね <> VIPにかわりましてGEPPERがお送りします
(長屋)<>sage<>2012/03/17(土) 17:01:28.61 ID:WOqWnkga0<> AndroidやiPhoneにある加速認識装置を使ったリアルfps作ろうず <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/17(土) 17:48:52.72 ID:kFFD072bo<> >>181
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/17(土) 18:44:26.81 ID:1xL6pP5ko<> 加速度にゲームは向かないとおじさんは思ってます
何故なら折角のハンズオンデバイスなのにゴロ寝プレイが出来ないからです
既に存在しますが加速度を利用するタイプのプログラムは実用系の”天球図”とかに向くと感じます

少なくともゲームであれば軽く振る程度の動作が限界でしょうね
例えば”砂金取りゲーム”とかww
動かしすぎると砂に混じった砂金が流れてしまうので優しく振って砂金を採取しましょう
しかし剰りにも丁寧にやり過ぎるとタイムオーバしちゃうので気を付けて下さい
残った砂金で全国ランキングが付けられます
目指せ小金持ち!

てな感じでww <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 09:17:31.33 ID:mnBKlgyVo<> おはようございます

あれぇ・・・?バーと同時にボールが表示できないですね・・・?
何故でしょう? <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 09:23:38.36 ID:mnBKlgyVo<> 特に変なことはしてないはずなんですがね・・・?

var bar = new Sprite(1, 32);
bar.image = game.assets['bar.png'];
game.rootScene.addEventListener('touchstart', function(a) {
if (bar.y <a.localY){bar.y += 4;}
if (bar.y >a.localY){bar.y -= 4;}
});
game.rootScene.addEventListener('touchmove', function(a) {
if (bar.y <a.localY){bar.y += 4;}
if (bar.y >a.localY){bar.y -= 4;}
});
game.rootScene.addChild(bar);

game.rootScene.addEventListener('event.enter_frame', function() {
var ball = new Sprite(16, 16);
ball.image = game.assets['icon1.png'];
ball.frame = 2;
game.rootScene.addChild(ball);
}); <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 09:32:21.74 ID:mnBKlgyVo<> もしかして画像の生成と画像の移動は別にしなきゃダメなのかな?

enter_frameでバーもボールも生成して
移動はtouchstartやtouchmoveに記述しなきゃダメなのかな?
ボールはフレームの定期処理だからenter_frameですよね
enter_frameにはバーを生成するだけの記述を置けば良いのかな?

微妙に融通効かないですね・・・ww <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 09:51:53.24 ID:mnBKlgyVo<> 表示されました(・∀・)
画像をただ表示させるならenter_frame自体が要らないわけですね
Event系は本当に動かす時だけに使えば良いんですねぇ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 11:04:55.56 ID:mnBKlgyVo<> うぉっっ!!!衝突判定のコーディングが凄く楽ですねコレ!!!
こんなの覚えちゃったら他の言語を使えなくなっちゃいますよ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 11:43:01.40 ID:mnBKlgyVo<> 当たり判定のPONGテストを公開しました
http://jsrun.it/Tanzo/7jZe <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 13:22:34.12 ID:mnBKlgyVo<> PONG test α2を公開しました
もうほぼ遊ぶことが可能です

http://jsrun.it/Tanzo/tBah

あとは得点付けたりすればPONGの雛形は完成ですね
なんだか今日はサクサク進みます(*´∀`*) <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 15:02:08.95 ID:mnBKlgyVo<> 当たり判定がこんなに楽だとは思いませんでしたねぇ・・・
VALD Conceptは格ゲーですから当たり判定で苦戦するだろうなと予測してたんですが・・・
むしろ当たり判定の調整の方で苦戦しそうな感じですね
PONGも敵バーの調整で悩んでます
もっとカッコイイCOMにしたいんですがなかなかうまく行きません
まぁ動いてますし最適化は後回しってことで <> VIPにかわりましてGEPPERがお送りします<><>2012/03/18(日) 18:38:47.32 ID:mnBKlgyVo<> 予想より速くバイノーラルの音源も作らないといけなくなるようですね
久々にDTMですよ
まぁテスト版ですしAudacityでピッチ上げるだけの簡単音源にしましょうかね
シーケンサー使って正確に音階で作っても良いんですけどね <> VIPにかわりましてGEPPERがお送りします<><>2012/03/19(月) 18:52:31.85 ID:xl0B/o/Ko<> 仕事に体力を持って行かれGVimを立ち上げる気力が無いです・・・
まぁ明後日は仕事が休みなんでその時にPONGの開発を進めたいと思います

本業あるのに沢山ゲーム作れる人ってすごいですね・・・ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/20(火) 22:12:40.29 ID:5GPb8Is/o<> あれ?点数が増えないですねぇ・・・
なんでだろう? <> VIPにかわりましてGEPPERがお送りします<><>2012/03/21(水) 01:21:45.90 ID:lS57H/QVo<> くそう・・・全く解決できません・・・orz

enchant();
window.onload = function() {
(中略)
var scene = PONG.rootScene;
var point = 0;
var label = new Label(point);
label.moveTo(20, 20);
scene.addChild(label);
(中略)
PONG.rootScene.addEventListener(Event.ENTER_FRAME, function() {
(中略)
if (ball.x <-32){
ball.x = 0;
ball.y = 0;
ball_moveX = 2;
ball_moveY = 2;
enemy_speed = 2;
point += 1;
(以下略)

これでいけるかと思ったんですがねぇ・・・ <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/21(水) 12:22:10.98 ID:iMaJDVmno<> jsしらねーけど

・point増えてんの?
 point += 1;の次の行にブレークポイント入れてpointが1,2と増えていくか見る
・Labelの文字変えるのどーやんの?
 point += 1;の次の行にブレークポイント入れてlabelの内容、っつーか表示したい文字(label.textとかあんじゃねーの?)が変わってるか確認する
  ・変わってなかった → pointいじる時毎回labelの内容も更新するとか // あるいはAddPoint(int, Label)みたいなpoint変えるときLabelも一緒に更新する関数作ってそこでだけポイントいじるとか
  ・変わってた
     → ・内容変わったlabel描き直してないから得点古いままなんじゃね?
         得点が増えたときに描き直すようにするとかゲーム画面更新する時一緒に更新するとか <> VIPにかわりましてGEPPERがお送りします<><>2012/03/21(水) 13:50:06.08 ID:aE5XODpDo<> ん・・・つまり変数labelには+1されていっているけれど、レンダリングが更新されていないから表示は0のままってことですかね?
表示されている0を更新する必要があるわけですか・・・
ダメなようならソースコードすべてあげてみますね <> VIPにかわりましてGEPPERがお送りします
(東京都)<>sage<>2012/03/21(水) 15:29:23.64 ID:1JSWM1vLo<> >>195
point += 1;
の直下にでも、
label.text = point;
だね。

new Label(point); について、Labelは、文字列を引数にとります。
この時点で、point は「0」だから、
new Label("0");
という意味になります。これが動かない理由ですね。 <> VIPにかわりましてGEPPERがお送りします<><>2012/03/21(水) 18:46:33.77 ID:OP6zYcGvo<> >>198
おぉ!有り難う御座います

実は今、会合という名の飲み会です
急に呼ばれましたorz
ウチの会社は理由を付けて飲み会をします
最低月1のペースで飲み会します(´Д`;)
下っ端戦闘員ですから面倒なの辛いのって大変です
まぁしょうがないです
これも仕事の内です
・・・給料出ないけど <> VIPにかわりましてGEPPERがお送りします<><>2012/03/21(水) 21:55:58.83 ID:OP6zYcGvo<> あ〜帰りたい・・・
帰ってPONGコーディングしたいです・・・
ビールをピッチャーで飲まされました
無茶ぶり酷いです・・・

学生さん、社会人とはこんなもんです
ぶっちゃけ学生の先輩後輩関係なんて遊びですよ
社会に出ると仕事よりも寧ろ人間関係が大事なんです

私も何度か人間関係の要領が掴めず転職してます
確かに社会人は色々面倒臭いです
転職すると何となく悪い気がします
でもそれも人生経験です
何度も転職したって学べばいいんです
頑張ると言う言葉は嫌いでしょうが頑張りましょう一緒に
むくわれるかどうかまだ私には解らないですが一緒に頑張りましょう?
私も何度失敗しても諦めませんからね頑張りましょうね
<> VIPにかわりましてGEPPERがお送りします<><>2012/03/22(木) 01:31:13.97 ID:cnIDPCMJo<> ただいま

良いかい?俺と同じ世代、そしてゆとり教育重視世代に言いたいです
最近テレビでもネットでも「最近の若者は飲みに付き合わない」とよく聞きます
上司や年配ってのは格好付けて若者へお願いなんて絶対にしない
だけどここまで様々なメディアで聞くってことは遠まわしにお願いしてるんだよ年上は
命令なんかじゃないアレは確実にお願いだ
そんなお願いに付き合うのが若者の役目だよ
もちろん私だって面倒くさいですけどね聞いてあげましょうよ願いを

すいません今回は飲まされすぎて酔ってます
ごめんなさい寝ますおやすみなさい <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/22(木) 02:11:10.67 ID:KGoluo5u0<> 初期から見て応援してるんだが、時折気持ち悪いと思ってしまう書き込みを見かける
人の書き込みをそんな風に見る自分が嫌だ <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/22(木) 11:46:56.33 ID:r6GbWEC7o<> 本当に申し訳ない書いた記憶無いですorz
<> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/22(木) 12:23:07.22 ID:9Zi8XmzMo<> 酔ってる時なんてそんなもんだろ
気にすんな <> VIPにかわりましてGEPPERがお送りします<><>2012/03/22(木) 22:18:12.11 ID:MrCI/Zxho<> すいませんでした

それで点数を増やすことに成功しました!
まさか一行足りないとは盲点でしたよ <> VIPにかわりましてGEPPERがお送りします<><>2012/03/25(日) 11:07:35.53 ID:NdnhugNXo<> さてPONGに得点を追加しました
もう完全に遊ぶことが出来ますね
http://jsrun.it/Tanzo/jGOG

それではここから今度はSurfaceを使ったPONGの製作に移ろうと思いますが
バイノーラルverやってみたいと言う方が居ましたらバイノーラルを追加した
α4を制作したいと思います <> VIPにかわりましてGEPPERがお送りします<><>2012/03/25(日) 13:47:54.25 ID:NdnhugNXo<> Surfaceの使い方が何となく解りました
Surfaceを描画するまでが面倒で後は普通にSpriteで扱えるんですね <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/28(水) 19:11:10.01 ID:qXpQygRKo<> 現在VALDのキャラ絵とかそう言うのをゆっくり作ってます
取り敢えずキャラをタッチで歩行するところまでやってみようかと <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/28(水) 23:21:10.97 ID:qXpQygRKo<> こういう画像加工系はサクサク進められますね今までのノウハウがあるんで
ただMMDの扱いにまだまだ馴れてなくて感覚的に操作できないのが悔しいです
骨折したみたいになっちゃう>< <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/28(水) 23:32:36.39 ID:qXpQygRKo<> 今どんなことをやってるかと言いますとMMDで4K2KサイズのBMPを出力してGIMPで切り取り縮小加工をしています
これを熊GIFの様にまとめてフレーム指定で動かそうかと考えているわけです
将来的にはディスプレイ解像度から、それに見合った解像度のキャラ画像を渡すって感じにしたいですね <> VIPにかわりましてGEPPERがお送りします<>sage<>2012/03/31(土) 20:14:57.74 ID:NR0baFKIo<> むむむ・・・思うようにMMDが使いこなせない・・・
まぁ馴れ何でしょうけどね・・・

あっ絵を描けないくせにIntuos5買っちゃいましたww
Bambooにしようと考えてましたが実際見るとIntuosの方が欲しくなっちゃいまして
RAW現像とかにも使えますし全く無駄では無いんですけどね
ゲームの背景は実写を元に加工して利用しようと考えてます <> VIPにかわりましてGEPPERがお送りします
(チベット自治区)<>sage<>2012/04/09(月) 04:44:45.40 ID:xPv10/Bso<> お…おい…生きてるか <>