iモード携帯電話用Java(iアプリ) Part 6
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGiアプリ制作の始め方、および初歩的な質問は下記スレへ。
【初心者歓迎】iアプリ相談室
http://pc5.2ch.net/test/read.cgi/tech/1089530578/
DoCoMo以外は下記スレへ。
CLDC+MIDP+携帯電話用Javaスレッド part 2
http://pc5.2ch.net/test/read.cgi/tech/1070858996/
過去スレ
Part 1 http://piza2.2ch.net/tech/kako/975/975428633.html
Part 2 http://pc3.2ch.net/tech/kako/1000/10007/1000723476.html
Part 3 http://pc2.2ch.net/test/read.cgi/tech/1040898596/
Part 4 http://pc5.2ch.net/test/read.cgi/tech/1067139509/
Part 5 http://pc5.2ch.net/test/read.cgi/tech/1084246226/
0002デフォルトの名無しさん
NGNGNTT DoCoMo - iアプリコンテンツの作成について
http://www.nttdocomo.co.jp/p_s/imode/java/index.html
Java[tm] 2 Platform, Standard Edition v 1.4
http://java.sun.com/j2se/1.4/ja/
CLDC仕様書 日本語版
http://java.sun.com/products/cldc/docs/CLDC1.0_ja_docs.zip
Eclipse.org
http://www.eclipse.org/
■ 機種依存情報
ん・ぱか工房(iアプリ機種依存情報)
http://www.saturn.dti.ne.jp/~npaka/
NTT DoCoMo - アプリケーション作成上の注意点
http://www.nttdocomo.co.jp/p_s/imode/java/caution.html
Overflow! さかきけいのページ(504iまでの機種依存情報つきAPIリファレンスあり)
http://godwood.allnet.ne.jp/vioret/
■ アプリを省サイズ化するツール(ObfuscatorまたはOptimizer)
Java Blender
http://web.yl.is.s.u-tokyo.ac.jp/amo/JavaBlender/
jarg - Java Archive Grinder
http://jarg.sourceforge.net/
0003デフォルトの名無しさん
NGNGギガアプリ
http://g-appli.net/
アプリ★ゲット
http://appget.com/
■ 携帯関連ニュース
ITmedia:モバイル
http://www.itmedia.co.jp/mobile/
ケータイ Watch
http://k-tai.impress.co.jp/
Nekomaru What's New
http://snget.hp.infoseek.co.jp/news/news_index.htm
■ 関連板
携帯アプリ板
http://news6.2ch.net/appli/
携帯・PHS板
http://etc.2ch.net/phs/
0004デフォルトの名無しさん
NGNG今後1〜2年で携帯電話にプログラマブルシェーダが搭載
http://pc.watch.impress.co.jp/docs/2004/0730/kaigai105.htm
すんなり載ってくれればいいのだが、どうなのよ、政治的に?
つーても、今更演算子オーバーロードのないJavaで本格的に3Dゲー組むのは正直ぞっとしないな。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG確かに3D関係だと演算子オーバーロードあると便利だろうねえ。。
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG平方根ぐらい自分で書けよ
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGDoJa4ってCLDC1.1なんだ!
しかし、いつDoJa4になるんだろ。来年くらい?
0015デフォルトの名無しさん
NGNGでも確かにメジャーバージョンアップならそれくらいしないとな。
0016デフォルトの名無しさん
NGNGF900it買ったけど使い道が・・・
0017デフォルトの名無しさん
NGNGint _sqrt(int n){
int s, t, n;
if(nNum <= 0)return 0;
s = n;
do{
t = s;
s = (t + n / t) >> 1;
}while(s < t);
return t;
}
0018デフォルトの名無しさん
NGNGオレが使ってるのと全く同じだ。
もしかしてアルゴリズム事典参考に、
ちょっといらんとこを省略した?
0019デフォルトの名無しさん
NGNGあと変数名変えそびれてる>>17
nNumが残ってるな。3行目のnNum→nな。
0020デフォルトの名無しさん
NGNGぬるぽ法ですね。
0021デフォルトの名無しさん
NGNGガッ!!
0022デフォルトの名無しさん
NGNGttp://www.aplix.co.jp/jp/release/2004/PR040803.shtml
0023デフォルトの名無しさん
NGNG画像を大量に使うアプリを作っていますが、端末によって「Out of Memory」エラーが
出るようになったので、はじめはImageオブジェクトを最初に全て作成していたやり方
を、必要に応じて作成→破棄を繰り返すように修正しました。
一度に扱うImageオブジェクトはかなり少なくなったのですが、長時間動作させている
とまた「Out of Memory」が出てしまいます。Imageオブジェクトを作成する際に使用す
るMediaImageオブジェクトは使い回ししており、Imageオブジェクトを破棄する際には
MediaImageオブジェクトは破棄しておりません。
現在Imageオブジェクトは配列であり、MediaImageはひとつだけです。
対策として、MediaImageもImageに対応した配列とし、Imageの破棄と同時にMediaImage
も破棄するという修正をしようと思っています。
この考え方は正しいでしょうか。ご意見をお聞かせください。
0024デフォルトの名無しさん
NGNG正しい。
0026デフォルトの名無しさん
NGNG手がだせなくなってしまうのだよ。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGリソースの実体を保持&管理してるのがMediaResourceなんだから
ImageとMediaImageは一対だろ。
MediaImageをdisposeしたとたん、getImageしたImageは使えなくなるじゃん
disposeしないで、そのMediaImageを使いまわしたら、上書きされた
以前のMediaImageを破棄する手段が失われてしまう。
0029デフォルトの名無しさん
NGNG>対策として、MediaImageもImageに対応した配列とし、Imageの破棄と同時にMediaImage
>も破棄するという修正をしようと思っています。
漏れはそうしてる
APIリファレンスにもdispose()汁!って書いてあるし
あと、unuse()してからdispose()するのが正しいやり方みたい
>メディアリソースは、使用する前に use() で使用開始を宣言し、 使用した後に unuse() で使用終了を宣言
>しなければなりません。 また、もはやメディアリソースを使用しない場合は dispose() で破棄しなければなりません。
> dispose() を呼ばない限り、メディアリソースで使用したメモリが解放されない場合があります。
>なお、disposeメソッドを呼び出した後にそのオブジェクトに対してdispose()以外の何らかのメソッドを呼び出した場合
>UIExceptionが投げられます。
> 破棄されていないメディアリソースが GC によって回収されようとしている場合の動作は機種依存です。
0030デフォルトの名無しさん
NGNGFomaからHTTP1.1で使えるぽいんだけど
環境変数、HTTP_CONNECTIONを見ると空っぽい。
知ってる人いたら情報キボン
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG機種依存というか、NだけはImageをdisposeするとMediaImageまで消える。
おかげでNだけMediaImageへのunuse, disposeが失敗するのを前提としたプログラムにしないといけない。
N逝ってよし
0033デフォルトの名無しさん
NGNG漏れもそれで悩んだような希ガス
N逝ってよし
0034デフォルトの名無しさん
NGNGすいません。Nは全機種でしょうか?
あと
MediaImageのunuse
Imageのdispose
MediaImageのdispose
の順で実行すれば、全機種共通でいけませんか?
003534
NGNG↓こんなかんじです。
MediaImage が null でなければ unuse
Image が null でなければ dispose
MediaImage が null でなければ dispose
0036デフォルトの名無しさん
NGNGImageのdisposeでMediaImageまで消えるのは、
N504iで確認した記憶がある。
MediaImageがnullとか、イマイチ言ってる意味がわからんのだが…
0037デフォルトの名無しさん
NGNGImageの開放
MediaImageの開放
とすれば問題はない。
だが最初は
Imageのdispose
MediaImageのunuse dispose
Imageにnullを代入
MediaImageにnullを代入
としていたので、Imageがnullにならなかったのだ。
(画像仕様のさいに、データがロードずみかどうかをnull==で判定していた)
003834
NGNG何度も申し訳ありません。
具体的に書くと、
try {
img.dispose();
img = null;
mi.unuse();
mi.dispose();
mi = null;
System.gc();
}catch (Exception e) {}
これでいいのでしょうか。
0039デフォルトの名無しさん
NGNGそれだとNの時にgcが行われない。
それ以外はいいと思われる。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGprocessIMEEventがimeOnから直接よばれないみたいですが
こういう仕様でしたっけ?
processIMEEventってどのタイミングで呼ばれるのが普通なんでしょうか?
0043デフォルトの名無しさん
NGNGAPIリファレンスよく読めばわかる。
0044デフォルトの名無しさん
NGNGわからなかったので聞いてるんですけど
004543
NGNGAPIリファレンス Canvas#processIMEEvent()
>IMEイベントが通知されたときに呼ばれるメソッドです。
>このメソッドはimeOn メソッドにより起動されたIMEへの入力が確定した場合、 またはキャンセルされた場合に呼び出されます。
004642
NGNG>>45
って書かれてますけど、imeOnが呼び出されても
一回目はprocessIMEEventが呼ばれず、
二回目呼び出す前にprocessIMEEventが呼ばれてるんです・・・。
Fのバグですかね・・・
0047デフォルトの名無しさん
NGNGそれが全機種共通の仕様
F900iT以外の全機種とF900iTで動作が違うならバグかもね
0049デフォルトの名無しさん
NGNGPart4に↓って書かれてましたけど無いぽいですし
400 名前:デフォルトの名無しさん 投稿日:04/02/03 23:39
続。
5.DoJaのインスコ
例)
D:\Dev\iDKDoJa3.0
プラグインなんかの設定は、
http://www.nttdocomo.co.jp/p_s/imode/make/java/index.html
から落とせるPDFのP.154からを参照。
6.デバッグ
これも5.のP.165〜P.166に書いてる。が、
(1)『実行』→『実行(デバッグモードにチェックを入れる)』
(2)『実行』→『デバッグ』→『リモートJavaアプリケーション』→『デバッグ』
の2段で実行しなあかん。
これで半日嵌った 。・゚・(ノД`)・゚・。
使って、矢っ張り変数とか確認しながら
実行できることは便利と実感。生産性向上、とリリースノートに書いてあったのも
あながち嘘じゃない ヽ(´ー`)ノ
005049
NGNG起動中に例外が発生しました
理由:
リモートVMに接続できませんでした。接続は拒否されました
と表示されてしまいます
005143
NGNGんだから、processIMEEvent()は「imeOn メソッドにより起動されたIMEへの入力が確定した場合、
またはキャンセルされた場合に呼び出されます。」って書いてある。
プログラム側から呼び出しに行くんじゃなくてシステム側によって呼ばれるの。
(processEvent()と同じだってば)
imeOn()を実行するとIMEが起動される。制御はプログラム側からシステム側に移る。
ユーザーが入力文字列を確定させるか、入力操作をキャンセルすると
システム側はprocessIMEEvent()を呼び、制御がプログラム側に戻ってくる。
そのときプログラム側はprocessIMEEvent()内で
・制御が戻ってきた理由の判定(ユーザーが文字列を確定させたのか/入力をキャンセルしたのか)
・入力確定ならその文字列の取得
ができる。
ただ、imeOn()はブロックしないメソッドであるとAPIリファレンスに書かれていて、これはつまり
imeOn()を実行したところでプログラムが一時停止するわけではなく、その次以降の行も実行されて
いくということ。もちろん画面上はIMEが起動してユーザーが入力操作中なので、見た目では
プログラムが続行してる様子は分からない。
0052デフォルトの名無しさん
NGNGimeOnがブロッキングな端末ってなかったけ?
0053デフォルトの名無しさん
NGNG>>45
これで分からなければ開発ガイドを嫁
サンプルソースも出てる
0055デフォルトの名無しさん
NGNG呼び出しスレッドが止まるのはあるかも。
VMはサスペンドしないのでIMEの裏でBGMとか流せる。
005749
NGNG0058デフォルトの名無しさん
NGNG>起動中に例外が発生しました
>理由:
>リモートVMに接続できませんでした。接続は拒否されました
きっとconection refusedってやつだよね。
リモートデバッグってTCPポート使ってるんだっけか?
パーソナルファイヤーウォールとかが原因だったりしない?
0059デフォルトの名無しさん
NGNGここにでてくる「プロジェクト」→「DoJa-3.5設定」ってメニューがないんですが
どうしたらいいでしょうか?
Eclipseのバージョンは2.1.3でDoJaは3.5です。
インストール手順は↑のURLの通りにやりました。
0061デフォルトの名無しさん
NGNGこれをやろうとすると
Exception: java/lang/ClassNotFoundException: com.nttdocomo.io.X900i.resource.Protocol
javax/microedition/io/Connector.openPrim (static) +102
javax/microedition/io/Connector.open (static) +15
javax/microedition/io/Connector.open (static) +6
javax/microedition/io/Connector.openDataInputStream (static) +10
javax/microedition/io/Connector.openInputStream (static) +4
K.A (virtual) +53
こんなエラーが出てしまうのですが、どうやったらresフォルダにいれた
text.txtを読みこむことができますか?
0062デフォルトの名無しさん
NGNGつまり
import com.nttdocomo.io.*;
を行っていないのではないかな?
006361
NGNGinputstream.read()したら問題なく読み込めているようです。
お騒がせしました
0064デフォルトの名無しさん
NGNGエラーになって困ってます。
try{
Felica.open();
FreeArea fa = Felica.getFreeArea();
byte[] readData = fa.read();
Felica.close();
} catch (FelicaException fe){
System.out.println(fe.toString());
} catch (IOException ie){
System.out.println(ie.toString());
}
上記コードの「fa.read()」でエラーが発生してしまいます。
マニュアルと同じ様にやってるんですけど、
経験者がいたら教えてください。
お願いします。
0065デフォルトの名無しさん
NGNGパッケージエクスプローラーで、プロジェクトを選んだ状態にしてない、とか。
あとはプロジェクトがDoJaプロジェクトじゃない、とか。
0066デフォルトの名無しさん
NGNGエラーがでてるならその内容を正しくかかんと
答えをもらいにくいよ
0067デフォルトの名無しさん
NGNG自己レスです。
色々調べた結果、Felica用のデータをきちんと作成しないといけなかった
ようです。
Doja3.0(Ver3.2)の「仮想フェリカデータファイルビューワ」を使って、
ADFで設定した「FeliCaCPID」と「FeliCaPin」を特定のエリアに書かない
といけないんですね。
Dojaのマニュアルに書いてありました。
エラーは、要約すると「読込みエラー」でした。
0068デフォルトの名無しさん
NGNG当方同じ環境だけどうまく動いてます。
メニューそのものが無い場合はきっと手順抜けです。
PDFのマニュアルを良く読みましょう。
メニューがあるけど選択できないなら
>>65さんので解決すると思う。
プロジェクトを選択してメニューを見てみよう。
0069デフォルトの名無しさん
NGNG>>68
レスありがとうございます。
いろいろいじってみたところ、
どうやら原因はパースペクティブが「Java」だったからのようです。
「Java ブラウズ」にしたら出てきました。
0070デフォルトの名無しさん
NGNGここのiアプリコンテンツ開発ガイド for DoJa-3.0 iアプリオプション・iアプリ拡張編※2
ってのがその先の規約に同意するをクリックしても見れないんだけど
俺だけ?
0071デフォルトの名無しさん
NGNG普通にみれるけど、adobeReaderが入ってないとか?
0072デフォルトの名無しさん
NGNG対応してないフォントが使われてるか何かってエラーが出るね。
どっか文字化けしてるかもしれないけど、とりあえず文書丸ごと読めないわけじゃないようだ。
対策はアクロバットリーダーを最新にしてみることかな?
0073デフォルトの名無しさん
NGNG・AdobeReaderで保存が出来ない
・FORMを使ってるので「右クリックで保存」が出来ない
仕方ないのでソースを見てURL直打ちでirvineで落とした
ダウンロードのダイアログを出したいんだけどどうすりゃいいの?
0074デフォルトの名無しさん
NGNG落としたなら普通にみればいいじゃん。
0075デフォルトの名無しさん
NGNG全部実装されてるとみていいのかな?
0076デフォルトの名無しさん
NGNGいや、割と悲惨な状況。
0077デフォルトの名無しさん
NGNG[実行]-[実行] の段階でエラーが出てしまいはまっています。
http://www.itmedia.co.jp/enterprise/articles/0407/15/news027.html
エラー内容は、
Error: com.nttdocomo.eclipse.DoJaBuildException:
Fail to create C:\eclipse\workspace\SampleAppli\bin.jar
過去スレのPart4 >>290と同じ状態です。
http://pc2.2ch.net/test/read.cgi/tech/1067139509/290
以下が解決方法とのことです
>J2SE SDKのbinディレクトリにパスを通す
このパスの通し方を教えて頂けないでしょうか。
[マイ コンピュータ]-[プロパティ]-[詳細]-[環境変数]
のPATHは C:\j2sdk1.4.2_05\bin で通っています。
Eclipse用のDoJaプラグイン特有の問題っぽいのですが
よろしくお願いします。
0078デフォルトの名無しさん
NGNGパスが通ってないのが問題であれば、Eclipse自体立ち上がらない。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGその話はPart5でも出てた。
http://pc6.2ch.net/test/read.cgi/pcqa/1092097220/l50
ここで「パスの通し方教えてください」とでも聞けば。
0081デフォルトの名無しさん
NGNGImageStore.selectEntry() みたいに選択画面を出したいのですが
どうもそれらしき関数が見当たりません。
最初はSoundStoreかと思ったのですがaddEntryしかないし・・・。
ひょっとして自力で作らないとダメですか?
0082デフォルトの名無しさん
NGNGcygwinが入ってるとうまくいかないってのが前にあったような。
PATHにcygwinが入ってるか確認してみ。
で、cygwinのパスがあったら削る。
0083デフォルトの名無しさん
NGNGError:java.lang.SecurityException: Illegal PackageURL in ADF
が出ちゃう。
iappli tool kit for doja3.0で実行すると上手くいくんですが、
eclipseだと設定が何か足りないらしい。
ADFのURLは[ウィンドウ]→[設定]のところからtool kitと同じように
http://www.xxxx.ne.jp/xxx/ と書き込んだし、
「プロジェクト名.properties」に「adfUrl = http://www.xxxx.ne.jp/xxx/」と
なっているのも確認しました。
教えてエロイ人。
008483
NGNGUseNetwork = http
になってます。
よろしくお願いします。
0085デフォルトの名無しさん
NGNGパスがとおってなくても立ち上がる。普通SDKをインストール
したら、JREもいっしょにインストールされるからね。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGいまは-classpathオプションでしょう。
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGプログラム内で作ったImageに透過色を設定する事は出来ないのかな?
009081
NGNG0091デフォルトの名無しさん
NGNGここ、繋がらないんだけど、閉鎖したの?
0092デフォルトの名無しさん
NGNGネイティブの着メロ領域から選択したいのか?
それは不可能
自力で作るのも不可能だ。そもそもアプリから読めないんだから
ただしjpg画像とかに偽装すればImageStoreで読めると思われ
(偽装の仕方はググってくれ)
0093デフォルトの名無しさん
NGNGだけ。
出来ない。
こっち向けの質問だな。
【初心者歓迎】iアプリ相談室
http://pc5.2ch.net/test/read.cgi/tech/1089530578/
0094デフォルトの名無しさん
NGNG> こっち向けの質問だな。
そうか?
0096デフォルトの名無しさん
NGNGDoja3.5ならできるよ>TransparentImage
009796
NGNG拡張APIなのでできる端末とできないのがある。
N900iはできない
SH900iはできる
0098デフォルトの名無しさん
NGNGということは、質問するときは、開発ガイドを調べた上で、載ってたら初心者スレにいけと。
開発ガイドに載ってないものはこっちで、と。
0099デフォルトの名無しさん
NGNGそれより載ってないときはどっちのスレに質問すればいいんだろね。
質問内容が初心者的かどうかなんて主観の問題じゃん。
0100デフォルトの名無しさん
NGNGそう。
だから、開発ガイドに載ってるのだから初心者向けへ、という>>93への皮肉ということで。
基本的には初心者スレをわけるのは反対というか、ただ分散するだけで、あまり機能しない/してないと思ってる。
0101デフォルトの名無しさん
NGNGそんな人だからこそ「初心者」と呼ぶべきなのかも知れない。
皮肉なのかも知れないが、基本的には>>95の心構えで良いと思う。
「載っているようですが、○○の意味が分かりません」という質問なら初心者スレも
後人のための良スレとなるかも知れん。
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG送った文字数とかリクエストしたアドレスからとかである程度はカウントできそうですけど、
なるべく正確にカウントしたいのですが
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNGどこのデータとって数えたら一番効率がいいかなぁ
ヘッダとかもあるし。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGヘッダも入ってるだろ?しらないけど
0108デフォルトの名無しさん
NGNGドコモはヘッダを含めた価格です。
auは確か含めなかったカナ?
0109デフォルトの名無しさん
NGNGできたら DL 用の html や jam の AppParam に埋め込んだ物を取得するのではなくて jam の LastModified をそのままアプリから知りたいのですが。
0110デフォルトの名無しさん
NGNGそうなのか。auはその辺もアピールできないと損だなぁ
0111デフォルトの名無しさん
NGNGソースの記述だけにしといた方が無難っぽい。
0112デフォルトの名無しさん
NGNG読み込もうとすると
MediaImage mi = MediaManager.getImage("scratchpad:///0;pos=" + (??));
例外もなくそのまま止まってしまうようなんですが
何か回避策などありませんでしょうか?
どうもN505だとちゃんと例外がでるようなんですが
D505だとほとんどの場合フリーズしてしまう感じなんですが・・・
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNGなぜ壊れているのかを調べる方が先だと思うぞ。
自鯖経由でどこかから拾ったとかの理由で壊れているかどうか分からないなら
APIリファレンスによるとIllegalArgumentExceptionを吐くらしいのでそれを調べよう。
それでもダメならgetImageする前にbyte[]に書き出して解析しなさい。
gifの仕様書はググれば直ぐに出てくる。
その気になれば展開ルーチンも自作できるはず。
もし鯖経由で拾ってるなら鯖側でgifのチェックをした方がいいかもしれない。
0115デフォルトの名無しさん
NGNGあるいはImageMagickのdisplay -vとか?
0116デフォルトの名無しさん
NGNGデバッグ情報全部切っても、ほんのちょっぴりとはいえ、コードが大きくなるみたいだね、JDTは。
その分実行速度とかに恩恵が回ってるのかもしらんが、よくわからん。
どうもJDTが吐き出したJARだと、JavaBlenderとか使う時に変な最適化というか、
ぶっちゃけて、たまに動かないバイナリが作られることがあるみたいなのが気になる。
JDTのせいじゃなくって、この種の最適化ツールが局所的なバイトコードの
並びに依存してる場所があるせいなんだろうけど。
もちろん、漏れの言いがかりの可能性も高い。
誰か詳しいレポきぼん。
0117デフォルトの名無しさん
NGNGそっちの方が問題だろ
それはそれとして、D505iは糞だから何が起こっても不思議じゃないよ
0118デフォルトの名無しさん
NGNGスクラッチパッドにgifがあるってことは、ネットワークからの受信かな?
だったらCRC付加してチェックしたほうがいいんじゃない?
0119デフォルトの名無しさん
NGNG公式ドキュメントにもリリース時はDojaでビルドしなさいって書かれてるね
0120デフォルトの名無しさん
NGNGデータが通信中に化ける事は無いが、「ただ今込み合ってます」みたいなHTMLになる事はある
だから、データにヘッダか何かを付けてそれをチェックするように作るべし
CRCでもいいけど、そこまでしなくても問題ない
GIFファイルなら、データの頭が"GIF"かどうかを調べれば十分
0121112
NGNG>118
はい、ネットからgifをダウンした際にデータに欠落やゴミが
入った場合などを想定してテストしてました。
なので予め壊れたgifをサーバに置いて、それをアプリで
DLしてチェックしてました。
さすがに1バイト目から壊れている(不正な)場合は
D505でもちゃんと例外をスローするようなんですが
データの途中がおかしい場合はフリーズするときがある感じです。
>120
>データが通信中に化ける事は無いが
これってホントなんでしょうか?
やっぱり独自にCRCとか入れてチェックするのが
正攻法なんでしょうかね・・。
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGチェックサムぐらいでいいと思うよ。
lengthチェックして問題なくても実際には
データがぶっ壊れてることがあるみたいだしなぁ。
0124デフォルトの名無しさん
NGNG0125118
NGNGスクラッチに保存した時点でデータが壊れているのは絶対さけないといけないと思う。(壊れているデータを保存しちゃだめ)
受信データが大きい場合、504なら10KB単位で、505なら20KB単位でCRCをチェックして、
正常ならスクラッチに保存、ダメならリトライ。
ちなみにリトライはユーザーにするかどうか確認したほうが親切かな。
ユーザーがいる場所が悪いかもしれないから。
ちなみに商用アプリはCRCとっている場合が多いよ。(石橋たたいて渡る)
個人的な経験ではデータ化けはまだ経験していないけど、データが欠落したことはあったので、
受信データの受信総容量は最低でもチェックすべきかと。
0126デフォルトの名無しさん
NGNGってのが出て来るんだが、なんだこれ?
catch出来ないし、呼び出してるメソッドはただのコンストラクタだし
原因がわからん。
0127デフォルトの名無しさん
NGNGALERT: Invalid constant pool entry
が出てくる・・・
今までこんなことなかったのに
0128デフォルトの名無しさん
NGNGでも無線部分で何やってるかはわからんか。
0129デフォルトの名無しさん
NGNGALERTはExceptionだからcatchなんかできるわけないだろ
0130デフォルトの名無しさん
NGNG>>127 こっちは、実行しようとしてるクラスファイルが壊れてるって意味。
間違ったライブラリbootclasspathなりclasspathに通してるか、
バグった圧縮ツールとか使ってクラスファイルの構造が壊れてるのか。。
まず、ふつうにDoJaの公式エミュレータでコンパイルして動くかどうかやってみるのが良いと思う。
0131デフォルトの名無しさん
NGNG>>128
確か過去スレで答えが出てる。
iアプリの通信はエラーフリーで、データ化けは考慮しなくていいはず。
0132デフォルトの名無しさん
NGNGするための、支援ライブラリ(DLL)を作ってみました。
フリーソフト作者のみなさんに利用してもらおうと考えているのですが、
一般に公開する前に、試しに使ってもらえる香具師いませんか ?
0133デフォルトの名無しさん
NGNGそうなんですよね。
実機だと ADF で指定した CPID と PIN を、自動的に FeliCa チップに書き込んで
くれるんだけど、 Doja だと自分で仮想 FeliCa に書き込まないと認証エラーに
なっちゃうんですよね。私もはまりました。
あと、外部 R/W からアクセスする時、どういった手順で PIN 認証を行うのかが
記載されてないのでちょっと不親切。
write_block_without_encryption じゃなくて、rw_write_block_without_encryption
を使わないとエラー・ステータス返すし。
0134デフォルトの名無しさん
NGNGレスども
色々思考錯誤して原因判明
自分でPaletteってクラス作ってたんだが
どうやらこれをcom.nttdocomo.ui.Paletteと勘違いしている模様
Paletteを使うクラス(A)では何もインポートしてないんだけど
Aを使うクラスでcom.nttdocomo.ui.*でインポートしてたのがいけなかったようだ
0135デフォルトの名無しさん
NGNGうっかりPaletteクラスのあるメソッドにfloat使ってた。
アホだな、俺
0136デフォルトの名無しさん
NGNGエラーフリーかもしれんが、
「サイトが混雑してます」というのを返してくれることがあるから、
エラーと区別できないんじゃなかったか?
0137デフォルトの名無しさん
NGNGそれは中身を見れば解決できる。
今回の場合は、120さんの言うように先頭が"GIF"かどうか調べれば十二分だ。
0138デフォルトの名無しさん
NGNGそれだけチェックすればOK、でFAだったかな。
0139132
NGNGおサイフケータイ(Mobile FeliCa)のフリー領域に PaSoRi を使ってアクセス
するための、支援ライブラリ(Windows 用DLL)をダウンロードできるようにしま
した。
http://www014.upp.so-net.ne.jp/SFCardFan/
0140デフォルトの名無しさん
NGNGintで計算したほうがはやいかな?
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNGjavaでもCでもbyteで計算なんてできないんだが。
byte a, b;
として
a + b
とかやろうとしたら、内部で勝手に、aもbもintにされてから計算される。
ttp://www.y-adagio.com/public/standards/tr_javalang/5.doc.htm
の5.6.2見てみ。
0143デフォルトの名無しさん
NGNGおっつー
俺も研究してみよ
まだFeliCa端末も浸透してないのでキツイかも知れませんが
またーりと長い目でがんばってくらはい
0144デフォルトの名無しさん
NGNG携帯用iアプリを制作していますが、障害物判定が希に抜けてしまい、全然ダメダメで....
5万程度で、誰かバグフィクスお願い出来ないかと思い書き込みしたのですが。
どなたか、お願い出来ませんでしょうか?
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGその程度の処理で問題が出る程度のコードは他の部分も目も当てられない
状態に違いない。
0147デフォルトの名無しさん
NGNGiモードやjavaなんかと関係なくアルゴリズムの部分だから
ややスレ違い風味かと。
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG障害物突き抜けちゃってるんだろうなぁ…
0150デフォルトの名無しさん
NGNG募集する気があるなら捨てアドぐらいはっとけ
0151144
NGNGプログラム苦手なんですよねぇ....(;´Д`)
捨てアド貼っておきます。
[email protected]
0152デフォルトの名無しさん
NGNGゲームの速度を1/Nにして、Nフレーム分の演算→描画→(繰り返し)
恐らく描画が一番重い処理なので数フレームくらいなら平気
0153144
NGNG0154デフォルトの名無しさん
NGNG「シューティングゲームアルゴリズム マニアックス」でも買っておけ。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797327316/250-1058187-0084216
弾幕がメインだが、当たり判定の話もある。でたばかりだから書泉にまだ
平積みしてると思われ。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGソース貼りゃ、誰か暇なやつが勝手に修正するだろうよ。
0157デフォルトの名無しさん
NGNG読んだ?感想キボン
ちょっと欲しい
0158144
NGNG0159144
NGNG@hotmailでも何でも良いので、見てくれるだけでも....
正直、俺には限界です(;´Д`)
0160デフォルトの名無しさん
NGNG甘ったれたこと言ってるなよ、勘違いも甚だしい。
あんたが言ってることは「お金あげるからプログラム作って」と同じ。
それならよそのスレ行って募集しろ。
アドバイスもらって自力で解決する気があるならこのスレでとことん聞け。
ソースはどこかアップローダを利用すればいいじゃないか。とりあえず頑張ってみろよ。
0161160
NGNG0162デフォルトの名無しさん
NGNG1.当たり判定で座標計算そのものを間違えている
2.キャラの移動と当たり判定の処理順がおかしい
1.のパターン
キャラAがキャラBの手前から向こうへ移動しようとするとき、
移動量がキャラBの大きさより大きくて、キャラAがキャラBと
重なることなく向こう側へ行ってしまった場合。
このように移動量が対象物体より大きくなる可能性がある場合は、
単純に移動後のキャラAとキャラBの座標を比較するのではなく、
キャラAの移動前後の座標とキャラBの座標をそれぞれ比較して
当たったかどうか(追い抜いたかどうか)を判定する。
2.のパターン
キャラAの移動→キャラBの移動→当たり判定の順だとすっぽ抜ける。
キャラAの移動→当たり判定→キャラBの移動、の順にして、
キャラAを移動させてキャラB(移動前)と当たっていればキャラBの
移動処理を行わないようにする。
キャラA、キャラBがそれぞれ複数ある場合(シューティングの自弾と敵機)、
ともに当たり判定のフラグを持っているとその後の処理がやりやすくなる。
自弾(キャラA)を移動して、当たり判定をして、当たった自弾と敵機(キャラB)
双方の当たりフラグを立てる。
キャラの生死や描画/消去はこのフラグを見ればいい。
実際にはソースを見ないと何とも言えないけど(ぶっちゃけ見る気はないけど)。
まさか2つの領域(四角形領域)の重なりを判定する式自体を間違えているとかは勘弁な。
0163デフォルトの名無しさん
NGNGもう一つ可能性を挙げてみる。
3. 1フレームあたりの移動量が当たり判定サイズと比べて大きすぎる
この場合、領域同士の重なりで判定するんじゃなくて、線分同士の交差
判定などで取る必要が出てくる。
0164162=160
NGNGあ、そうです。
>>162の1.のパターンは>>163ってことが言いたかったのです。
分かりづらくてすみません。座標じゃなくて領域って言葉使えばよかったんだな。
0165144
NGNG募集するだけだと自分の進歩有りませんよね。
少し頑張ってみます。
よーし、ガンガン質問するぞーw
0166デフォルトの名無しさん
NGNGあたり判定とかはアルゴリズムスレに行ってくれないか。
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG携帯のお約束は思った以上に多いので、
頑張り次第といったところか?
まあ、その辺は本がいっぱい出てるから参考にするのもいいかと
0170デフォルトの名無しさん
NGNG(´-`).。oO(あつしの使ったってレバルが気になるな…)
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGレスどうも
色々調べてみたら
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/OptUseInt.html
intでやったほうがいいみたいです
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNGbyte[]で済むなら素直にbyte[]にするべき。
速度が気になるならアルゴリズムを見直した方が速かったりするし。
どうでもいいけどなんでjavaってunsingedがないんだろう。
0176デフォルトの名無しさん
NGNG2chブラウザだから予約語扱いされなかった
0177デフォルトの名無しさん
NGNGところがぎっちょん、初期化済み配列については、
byteの方が遥かにかさばったりする。
javacが定数の展開をしてくれず、初期化済み配列も、実際には
さっきキャストが発生すると書かれていたbyteへのキャスト命令を
大量に織り込んだ形で展開されてしまう。
ついでにzipの圧縮効率も落ちるため、時としてJARのサイズに
致命的なまでの違いを生む事がある。
この種のデータが重荷になるなら、生バイナリとして外部に出してしまい、
別途スクラッチパッドに読み込んだものを展開して使うのが常道
…だったんだけど、この辺の事情はどうなったんだろうね、最近。
相変わらずでつか?
0178デフォルトの名無しさん
NGNGとりあえず知りたいのは十字キーの斜めとテンキー(#*含む)のどれか1つとの同時押しが可能かどうか。
ん・ぱか工房の機種依存情報にもある程度載ってますが、
そこに載ってるの以外でも、例えばN505iはできないらしいです。
N900iも無理ですが、ニューロポインターとの組み合わせならできるみたい…。
他、情報がありましたらよろしく。
0179デフォルトの名無しさん
NGNGドキュモのサイトで機種別情報をPDFで落としてきて、細かくチェックしる。
0180デフォルトの名無しさん
NGNGclassファイルには、バイト列のデータをそのまま貯蔵しておくような場所が無いからねえ。
解決はできないと思われ。
唯一の例外は文字列なわけなので、どうしてもそういうことしたいなら、がんばって
2バイトずつくっつけたUnicodeの文字列としてコードに埋め込むのかなあ。
で、getChars()で処理すると。
0181デフォルトの名無しさん
NGNG漏れもunsigned欲しい。
せめてbyteはunsigned使えるようにして欲しかったなり。
0182178
NGNG機種別情報ってこれのことでしょうか?
http://www.nttdocomo.co.jp/p_s/imode/java/caution.html
ここだとキー同時押しのことはD504にしか書かれてないです。
それに、斜め押しと他のキーとの同時押し判定が可能かどうかもあやしいし…(´・ω・`)
0183デフォルトの名無しさん
NGNGキーの同時押しはCanvas#getKeypadState()使て自力で判定しる。
機種依存がどうこう考えるまでもないだろ。
0184デフォルトの名無しさん
NGNG123キー、456キー、789キーが同時に2つ以上検出できないのだけじゃなかったか。
Nのは聞いたこと無いなあ。
すまんが情報の持ち合わせが無い。漏れがN504と505でアプリ書いたときには、
特に問題が出た記憶はないが、テンキーと十字キーの同時使用は考えなかった。
(つか、内部でテンキーと十字キーを同じ扱いにしてた)
あまり機種依存ではまるのが不安な様なら、UIの設計変えるのも検討した方が
いいかもしれないと思えるいけど…。
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGその問題はD504iのみだね。504iの「iアプリ作成に関する注意事項」に書いてある。
123、456、789、*0#、それぞれの組内で同時押しが判定できない。
0187デフォルトの名無しさん
NGNGお店とかでリーダーにかざすだけで会員証登録できたりしたら便利だなー なんて思うのですが、
メールアドレスとか電話番号とかを吸い出すことってできるんですかね?
iアプリを使えば可能??
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 通報しますた
\
 ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ( ´Д` ) < 通報しますた
( ´Д` ) /⌒ ⌒ヽ \_______
/, / /_/| へ \
(ぃ9 | (ぃ9 ./ / \ \.∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /、 / ./ ヽ ( ´Д` )< 通報しますた
/ ∧_二つ ( / ∪ , / \_______
/ / \ .\\ (ぃ9 |
/ \ \ .\\ / / ,、 ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /~\ \ > ) ) ./ ∧_二∃ ( ´Д` ) < 通報しますた
/ / > ) / // ./  ̄ ̄ ヽ (ぃ9 ) \_______
/ ノ / / / / / ._/ /~ ̄ ̄/ / / ∧つ
/ / . / ./. / / / )⌒ _ ノ / ./ / \ (゚д゚) ツーホーシマスタ
/ ./ ( ヽ、 ( ヽ ヽ | / ( ヽ、 / /⌒> ) ゚( )−
( _) \__つ \__つ).し \__つ (_) \_つ / >
0190デフォルトの名無しさん
NGNGなぜタイーホ??
誤爆?
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG仕様書に書いてあるかもしれんけど、携帯のHTTP通信のタイムアウト時間は1分ジャストっぽい。
HTTPをサーバー側で保留して行う擬似リアルタイム通信の際注意すべし。
0193デフォルトの名無しさん
NGNG会員証登録って書いてあるんだから無断じゃないじゃん
今までわざわざ紙に書いて貰ってたステップを省きたいってことだろ??
0194デフォルトの名無しさん
NGNG他人のふりして擁護しなくていいから。
会員証登録ってなんだよ。Felica利用のついでに勝手に電話番号とかとられたら嫌だろ?
あほか
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG個人情報とか抜かれてるのかな?
0197デフォルトの名無しさん
NGNGだから他人のふり擁護はしなくていいから。
利用者が嫌と思うようなことが、簡単に出来る仕組みなわけねーだろ。
0198デフォルトの名無しさん
NGNGまず、Mobole FeliCa の領域を確保するためには、そのエリアを管理するための iアプリが必須。
Mobile FeliCa は、R/W から見れば、普通の FeliCa としか見えない(単なるメモリにしか見えない)
から、IrDA みたいに IrOBEX を使ってアドレス帳とかが読み取れるわけではない。
R/W 側から特定のiアプリの起動要求をかける手順が規定されているから、その FeliCa 領域を
管理する iアプリを立ち上げて、マルチ CPU システムが 2 Port RAM 経由で通信を行うような
手法を使えば、アドレス帳の内容を転送できるかもしれないけど、トラステッド iアプリじゃ
なきゃアドレス帳にアクセスできない。
そもそも、聞く前に
「iアプリコンテンツ開発ガイド for DoJa-3.0 iアプリオプション・iアプリ拡張編」ぐらい
読めや。DoCoMo のサイトから誰でもダウンロードできるし。
これの「第16章 FeliCa チップ」の項目な。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGiモードFeliCaでも電話番号やメアドを抜く事はできない
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG抜かれる前に、普通に登録して教えてるだろ。
0204デフォルトの名無しさん
NGNGCLDCにSerializableが無いからこそ出来た技だもんな。
0205デフォルトの名無しさん
NGNGhttp://mysta.flexfirm.co.jp/product/test/index.html
この辺とか使ってる?
それとも自社で実機かき集めてテストですか?
0206デフォルトの名無しさん
NGNGあってもできるんじゃない?
0207デフォルトの名無しさん
NGNGM3。
でも高いね。
自社で揃えることもある。
0208デフォルトの名無しさん
NGNG200台維持すること考えれば、安いかも。
着メロでも作ってなきゃ元とれんよ。
0209デフォルトの名無しさん
NGNG素直な機種と、そうでない機種があるから、素直じゃない機種はそろえてるけど。
Vodafoneはチェックシートに「発売されている全ての端末で正常に動くことを確認した。○or×」なんてあるのが
すげーむかつくんだよな…。
調べられるかボケ。
0210デフォルトの名無しさん
NGNGiアプリだと、30機種ぐらいか?
それでも自社で持ってたら、すげぇことになるな。
業者のところに出向いて自分らでテストしてる。
テストは一日で終わるよう綿密な計画を立てて。
でも、結構楽しいんだよな、これ。いろんな携帯さわれるし。
0211デフォルトの名無しさん
NGNG発売されてない端末のテストは、端末かアプリかどっちが悪いかわからんから楽しくない。
0212デフォルトの名無しさん
NGNGこっちのスレの人ですか?
0213デフォルトの名無しさん
NGNGできない場合は、GIFアニメを1フレームずつGIFで持たせて
1枚1枚表示させる方法にすればよいですか。
0214デフォルトの名無しさん
NGNGそういやimplements Serializableしなきゃだめなんだった。
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGども。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG2.0から全対応。
0220デフォルトの名無しさん
NGNGへーそう。ありがとさん
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGRPG作ってるんだけど、マップのレイヤー処理は諦めざるを得ない感じ。
20fps(50ms)を維持しようと思ってるんだけど、これだと背景一枚とNPC描画が限界だよ。
0223デフォルトの名無しさん
NGNG絵がそれで倍描けるなら、トレードオフを検討してもいいと思うけど。
0224デフォルトの名無しさん
NGNG送れるメッセージの量が不明瞭で困っています。
MessageDraftのsetDataの例外発生条件には
・メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。
任意のバイナリデータが設定可能のため、
実際にはサイズ超過の違反のみが該当します
とあるのですが「メッセージiアプリのメッセージの仕様」自体が見つかりません。
企画段階で容量限界のあたりをつけなければいけないのですが、
ご存知の方いらっしゃいませんでしょうか?
0225デフォルトの名無しさん
NGNG差分描画にしないとキツいと思うよ
0227222
NGNGfor二重ループも使い方次第だね。
重いところは16fps位まで落ちる事もあるけど…
>>223
それも考えたんだけど、出来るだけ滑らかに動かしたかったので…
>>225
既にやっていますた。
ちなみに端末はSH505iで、16*16チップを15*15*2layer並べてます。
(下層と上層に分けて、人が建物の影とかに隠れるようにしてる。)
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG機種間の差が凄いぞ
他の機種でもやってミソ
0230デフォルトの名無しさん
NGNG16*16チップを4つ組み合わせた32*32チップを用意して、それで描いた方が良くない?
0231デフォルトの名無しさん
NGNGうーん?
DXの契約すれば教えてもらえるんだろうと勝手に想像してたのだが、そうではないのか。
0232デフォルトの名無しさん
NGNGFPSてどれくらい出てればそれなりに見える?
JAVAでずっと画像が動くアプリとか作ったことないからよくわかんなくて。
ちなみに今10〜18(ちょっと画面ごとにばらつきがある)
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG15だせばがんばってる。20だせばすげえ。ってくらいか。
0236デフォルトの名無しさん
NGNGDoJa3.5と見た目変わってるし…
どうせなら3.5も統一してよ。。
0237デフォルトの名無しさん
NGNG機種は?
Dはともかく、それ以外の機種で10fpsそこそこってのは、さすがに描画周りの
組み方を見直したほうがいいと思う。
0238デフォルトの名無しさん
NGNG亀レスですが・・・
自分も今日、同じ状況におちいってしまいました。
いろいろいじくった結果解決しましたので自分の場合の解決策を書き込んでおきます。
■com.nttdocomo.eclipse.DoJaBuildException何たら
というエラーが出て実行できない。
→環境変数でj2sdkのbinにpathを通す。
■エミュレータ動いたっぽいが「AppName の値がありません」
というメッセージがコンソールに出力されてエミュレータ実行終了。
→jamにAppNameの情報を追加、ついでにAppClassの情報も追加する。
■エミュ動くもスクラッチパッドの保存できず。
→jamにSPsizeの情報書くの忘れてたので追加する。
■そういやADF設定してなかったなと気づく。
→http://www.okisoft.co.jp/esc/i-appli.htmlを参考にADF設定できるよう
エクリプスの設定を変更する。
0239デフォルトの名無しさん
NGNG漏れなんかいままで書いたアプリ、全部10FPS固定だわ。
N504に合わせて…。
0240デフォルトの名無しさん
NGNG詳しく。
0241232
NGNG機種はFかな。
高さ480ドットのフィールドでボールが真ん中に来たときに画面を上下切り替えしてる。
FPSは上は10〜15くらい。
下が15〜20になってる。
条件の判定と描画の処理しかしてないんだけど速度でないんだよね。
Fは結構優秀らしいからこれしか出てないのはちょっとショックだったり。
0242237
NGNGF900iでそれだとずいぶん遅いなぁ。
おかしなことしてなけりゃもっと出るはず。
とりあえず、以下の実験をしてみるといいんじゃないかな。
1)Graphics#drawImageで1枚どーんと描く
2)Graphics#drawImageでチップを並べて描く
3)Graphics#drawSpriteSetで1枚どーんと描く
4)Graphics#drawSpriteSetでチップを並べて描く
チップを並べる場合は、チップのサイズと数を何種類か試してみるといい。
0243デフォルトの名無しさん
NGNG10fps出てるかどうかすら怪しいわ…。
ドラクエとFFってチップサイズいくつ?
0244232
NGNGまあ盤面だけじゃなくて、アニメーションさせたり、点滅させたり、
レイヤーみたいなものもあるからなぁ。
とりあえず一番でかい盤面はdrawImageでチップを並べるように書いたらどの数、サイズでも1回で書くより遅かったんだよねぇ。
レイヤーとかがやっぱ遅いかな。
まあとりあえず今度drawSpriteSetを試してみるわ。
ありがとー。
0245デフォルトの名無しさん
NGNG一度に描画するサイズによる速度差は意外と小さかったりする。
0246デフォルトの名無しさん
NGNGどのくらいの速度差があるものなの?
0247デフォルトの名無しさん
NGNGチップサイズは知らんがDQ,FFはImageMap使ってると思われ
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGそうだねー。
ただ、N/P系とF/SH系でこの辺の癖が違うんだよなー。
0250デフォルトの名無しさん
NGNG描画更新可能な最小時間を調べた資料が欲しいよ。
後者はこういう意味。
>>239が言うようにN504ではpaint()を仮に10msごとに呼び出しても
毎回描画内容が反映されるわけではなく、100msごとにしか反映されない。
P504だと50msごとに反映できる。そういった時間のこと。
(確か必ずしもタイマー解像度と一致しないと思った)
0251デフォルトの名無しさん
NGNGN504の100msは描画についてのことじゃないし
0252デフォルトの名無しさん
NGNGドコモは動作性能がメーカー依存なところがかなり痛い。
基本と拡張の実装状況も不明瞭で分かりにくい。
0253デフォルトの名無しさん
NGNGsetImageMap(int mapWidth, int mapHeight, byte[] data, Image[] images)
Image[] imagesかよ…
チップ毎にイメージ作ってる余裕なんてないよ。
ツカエネ
0254デフォルトの名無しさん
NGNGしかも言われてるほど速くもないしな。
N900iで試してみたら大惨事。SHとかFだと速いのかなぁ。
0255デフォルトの名無しさん
NGNGThe project was not built since its build path is incomplete. Cannot find the class file for java.io.Serializable. Fix the build path then try building this project
とかいってビルドできなくなっちまったよ。
eclipse3.0の時にはできてた気がするんだけどなあ。
誰か詳しい人、おられませんか?
普通のJavaプロジェクトは問題なく動作するし、なんなんだろ。
0256デフォルトの名無しさん
NGNGやはり機種毎に描画方法変えないといけないのかねぇ…。
SHだとImageMap使わないと半分ぐらいにフレーム落ちするけど、
N/PだとdrawImageの方が良いのかな?
0257254
NGNGループぐるぐるでdrawImageするよりはImageMapの方が速い。
ただ、何にせよN/Pは描画アクセラレータの関係か、描画する
Imageの数が多いとやたら遅くなる。
その代わり描くImageの面積が広くてもあまり負荷が増えない。
drawSpriteSetを使うと速いんだが、それだと画像の転送量がある程度
以上増えると描画が乱れてしまうorz
0258デフォルトの名無しさん
NGNGキャッシュ用のオフスクリーンイメージを持つ自前ImageMapを構築するのですよ。
描画時には4回のdrawImageで循環スクロールも可能。
DirectDrawなんかでよく使われてた手です。
こっちのほうが速くて取り扱いが素直なんで、はっきり言ってImageMapクラスは無用。
0259258
NGNGimport com.nttdocomo.ui.Graphics;
import com.nttdocomo.ui.Image;
/*
* ゲームの背景に使用する、16×16ドットのパターンを組み合わせたイメージを保持するクラスです。
* 家庭用ゲーム機においてBG面と呼ばれているものにほぼ相当します。
* マップは20×20パターンで水平・垂直方向に循環していて、
* ドット単位で任意の座標から表示できます。
* パターンには256×128ドットのパターンセットイメージを使用し、
* 左上から順番に、パターン0〜127に割り当てられます。
*/
public class Bg {
private Image cacheImage;
private Graphics cacheGraphics;
int[][] map = new int[20][20];
private Image patternSetImage;
public Bg(Image patternSetImage) {
this.patternSetImage = patternSetImage;
cacheImage = Image.createImage(320, 320);
cacheGraphics = cacheImage.getGraphics();
}
0260258
NGNGx %= 20;
y %= 20;
// 既にキャッシュイメージに同パターンが書き込まれているなら更新しない。
if (map[y][x] != pattern) {
map[y][x] = pattern;
int sx = (pattern & 0xf) << 4;
int sy = (pattern >> 4) << 4;
cacheGraphics.drawImage(patternSetImage, x << 4, y << 4, sx, sy, 16, 16);
}
}
0261258
NGNGx %= 320;
y %= 320;
int dx = 320 - x;
int dy = 320 - y;
g.drawImage(cacheImage, 0, 0, x, y, dx, dy);
g.drawImage(cacheImage, dx, 0, 0, y, x, dy);
g.drawImage(cacheImage, 0, dy, x, 0, dx, y);
g.drawImage(cacheImage, dx, dy, 0, 0, x, y);
}
}
これでRPGのマップなどをスムーズスクロールさせた場合、
1フレームあたりのdrawImageの平均呼び出し回数は、ほぼスクロールするドット数+4回。
0262258
NGNG> ImageクラスのcreateImage()メソッドで作れるイメージの最大サイズは画面サイズ。
とかいうふざけた機種(DとかDとかDとか)ではそのままでは動きません。
ていうか、こんなもん容赦なく切り捨ててやるのがメーカーへの親心だと思います。
まあ、対応してもクラスサイズが約300バイト増えるだけですけどね。
0263デフォルトの名無しさん
NGNGこれってさ、320*320のイメージ作ってるけど16ドット*20チップの意味だよね?
100*100のマップとかはどうするの?
patternSetImageてのはマップチップの事?
0264デフォルトの名無しさん
NGNG0265258
NGNG> 100*100のマップとかはどうするの?
もちろんスクロールにあわせてputで描いていくのですよ。
> patternSetImageてのはマップチップの事?
イエース。これってなかなか共通の言葉がないんだよなあ。
0266258
NGNG// マップデータ
byte[][] map = new byte[MAP_WIDTH * MAP_HEIGHT];
final int PATTERN_WIDTH = 16;
final int PATTERN_HEIGHT = 16;
...
// メインループ内の背景描画
// BG面の描画範囲を決める。mapX、mapYはマップ表示座標(ドット単位)
int x0 = mapX / PATTERN_WIDTH;
int y0 = mapY / PATTERN_HEIGHT;
int x1 = (mapX + WIDTH - 1) / PATTERN_WIDTH;
int y1 = (mapY + HEIGHT - 1) / PATTERN_HEIGHT;
for (int iy = y0; iy <= y1; iy++) {
for (int ix = x0; ix <= x1; ix++) {
// 表示される領域を描画
// Bgクラスのキャッシュ機構で、drawImageの呼び出しは最小限に抑えられる。
bg.put(ix, iy, map[iy * MAP_WIDTH + ix]);
}
}
bg.draw(g, mapX, mapY);
0267デフォルトの名無しさん
NGNGチップの置き換えが起きるフレームと起きないフレームで処理速度が変わっちゃう
のはもう仕方ないよなw
ウェイト入れるしかないね。
0268デフォルトの名無しさん
NGNGさっそく実装してみたら40msぐらい速くなった。
いやーチップに切り分けた背景表示は重くなるから困ってたんで
たすかった。アリガトン!
問題はボーダフォン50kにどうやって対応するかだな・・。
0270デフォルトの名無しさん
NGNGばれるとしても、身内にしかばれません。
0271255
NGNGエラーのとおりjava.io.Serializableを解決するべく
本来JRE_LIBとして予約されてるはずの
C:\j2sdk1.4.2_05\jre\lib\rt.jarを改めてExternalJarとして追加するだけ。
ついでにJDK Compilance のコンパイラ互換レベルを例によって1.3に落としてやらないと
JAR作るときにおそらくPreverifyに怒られて、サイズ0のJarができてデバッガ使えないよ、と。
チラシの裏に書きますよえーこれからはそうしますよーだ。
0272デフォルトの名無しさん
NGNG20*20ぐらいのマップだったら1秒ぐらいか。フェードと一緒に処理すればごまかせるかも。
ところで、これってフィールドマップでやろうとしたら滅茶苦茶メモリ食わない?
32*32チップで64*64だと4000000ピクセル以上のImageが…(´д`;)
小さいオフスクリーンイメージでやりくりすると、全部書き直すときに結局遅くなるし…
0273デフォルトの名無しさん
NGNG乙。参考になった
0274デフォルトの名無しさん
NGNG全マップを1枚のImageに載せるのは無茶だし無理でしょ。
そんなにでかいImageがそもそも作れなかったりするし。
(Dは240x240,N/Pは320x320が限度)
というか、>>258のは、そもそもそういう無茶をせずに済むように
するためのテクニックだと思うんだがw
0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNGあの例で言うなら、オフスクリーンイメージのサイズは320x320のまま
巨大なフィールドマップが320x320毎に分割されてて、320x320の額縁がスクロールにあわせて動く、
って考えると解り易いかも?
0277デフォルトの名無しさん
NGNGなんかしらんけどSH900で処理が異様に遅いんだが。
I/Oが遅いらしいてのは聞いたけどたぶん関係ないだろうし。
0278デフォルトの名無しさん
NGNGラスターオペレーションとか遅かったはず。
フェードインとかフェードアウトとか、SHはもたつく。
0279デフォルトの名無しさん
NGNGスレッド関連に癖がある、という話をどっかで読んだ気がする。
複数のスレッドを回してる場合、明示的にThread#yield()を呼ばないと
他のスレッドやCanvas#processEvent()に処理が回っていかないとか
何とか。
Canvas#run()の中だけでぐるぐる回せば、たぶん起こらない。
0280デフォルトの名無しさん
NGNG>>279
ありがと。
原因わかった。
setSoftLabelを毎フレームやってるとかいうつまんないミスだった・・・orz
てかそれだけでフレーム数が半分とかすげーな・・・。
なにはともあれお騒がせしました。
0281デフォルトの名無しさん
NGNG例えばアプリで、ソフトキーでメニュー表示させた後にメニュー閉じるとメニュー開く前に戻る感じ。
メニュー開く前のユーザの入力を一々記憶して、メニュー閉じたらそれを復元する方法しか俺には思いつかん。
0282222
NGNGバトルでの変数の管理がきつくなってきました。
HPMPLV力素早さ精神魔力防御力経験値…
多次元配列+static finalフィールドで管理できない事もないけど、
絶対バグの温床になるに決まってる。
バトルクラス作ります。
まだ10KB位だし。
どうでもいいけどインナークラスの方がサイズ大きくなるんだね。
ちょっと意外だった。
0283デフォルトの名無しさん
NGNGm_anPlyData[DATA_HP] = 0;
m_anPlyData[DATA_MP] = 0;
m_anPlyData[DATA_STR] = 0;
m_anPlyData[DATA_SPD] = 0;
m_anPlyData[DATA_MG] = 0;
m_anPlyData[DATA_DEF] = 0;
0284デフォルトの名無しさん
NGNGJavaらしくない名前ですね
0285デフォルトの名無しさん
NGNGDoJaのフレームワークというか、クラスライブラリでは用意されていないはず。
ゲーム関係の機能は強化されているんだけど、それ以外はDoJa1の頃から
変わってないね。
0286デフォルトの名無しさん
NGNG「ユーザーの入力を記憶して」という考え方だと、バグでまくるけどね。
たぶん。
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNGどんなレベルで作ってるのかわからないが、504以降なら、クラス2個縛りはある種の神話だと思われ。
内容によっては確かにそうしないと実現できないレベルのアプリは存在するし、
その種の追い込みから得られる成果は、元が小さい分無視できないものがあるけど、
たとえそうであっても、最初はそれなりにクラス切ってちゃっちゃと動作するもの作ってから、
稼いだ作業時間で最適化作業はじめた方がいいと思うよ。
あと、ちゃんとオビュファスケータ使ってる?
プリプロセッサの導入は?
0289デフォルトの名無しさん
NGNGメソッド内で一時的に作成したInputStreamは
スコープを抜けたら勝手にクローズされてgc()の時に回収されるのかな?
出来るだけ異常終了しないようにしようと思ったんだけど、
in.close()がIOException吐くから確実に閉じる方法がないんだよね。
どうすりゃいいんだろ?
0290デフォルトの名無しさん
NGNGクローズはなし。
でもin.close()がIOException吐くのは放置OK.
0291290
NGNG0292デフォルトの名無しさん
NGNGIOExceptionって、そりゃコードに問題があるのでは?
0293289
NGNGいや、実際に吐いたと言う意味ではなくて、
ドキュメントにそう書いてあったという意味。
今までにin.close()がIOExceptionを出した事はないです。
例えば、
try {
InputStream in = hoge(hoge);
in.read(hoge);
in.close();
} catch (IOException e) {}
これでin.read(hoge)で例外が出た場合に、このinはどうすりゃいいのかってこと。
tryの前に InputStream in = hoge(hoge);を持ってきて確実に閉じるようにさせたいけど、
結局
try {
in.close();
} catch (IOException e) {}
になってしまうから閉じる方法が見当たらないんです。
ま、要するにin.close()で例外が出た場合は
そのinはいったいどうなってしまうのか?って事です。
0294デフォルトの名無しさん
NGNGtry {
in = hoge(hoge);
in.read(hoge);
} catch (IOException e) {
if(in != null){
try {
in.close();
} catch (IOException e) {//}
}
}
はイディオムかな。
0295289
NGNGiアプリでも放置OK?
てことはin.close()で例外がでたらダイアログでも出して
null返してしらんぷりしていいのかな?
いや、いままで例外放置してたんで、
ちょっとまじめに隙の無い実装にしてみようかと思ったら、
in.close()でループに嵌りそうになってしまったもんで…
0296デフォルトの名無しさん
NGNGInputStream in = null;
try {
in = hoge(hoge);
in.read(hoge);
} catch (IOException e) {
//いろいろ
}finally{
if(in != null){
try {
in.close();
} catch (IOException e) {}
}
}
0298デフォルトの名無しさん
NGNGpublic void close()
throws IOExceptionこの入力ストリームを閉じて、そのストリームに関連するすべてのシステムリソースを解放します。
InputStream の close メソッドは何も行いません。
0299デフォルトの名無しさん
NGNGいます。
テスト用のiアプリを書いて、ADF で AllowPushBy = icc:hogehoge と
指定して F900iC でダウンロードしようとすると、「ソフトに誤りがありま
す」と拒否されます。AllowPushBy を指定しなければ、ダウンロードで
きて、i アプリ自身は正常に動作しています。
F900iC は、「外部 R/W からの i アプリ起動」に対応していないんで
しょうか ?
外部 R/W (PaSoRi) からの Push コマンドは、ちゃんと受け取る(エ
ラーステータスは返らない)みたいです。
0300デフォルトの名無しさん
NGNGiアプリオプションAPIのMathクラスの使い方が良く分かりません。
com.nttdocomo.opt.ui.j3d.Mathをインポートし、単純に
System.out.println(Math.cos(0));
としただけでもjava.lang.RuntimeExceptionが出てしまいます。
そもそも、Math.cos()の引数として
「角度を4096 分円単位(2πラジアンで 4096)で指定します」
とあるのですが、これは10度を現すときは
(int)4096/360*10を引数として渡すと解釈しているんですが、
あっているのでしょうか?
0301デフォルトの名無しさん
NGNGhttp://www.mascotcapsule.com/toolkit/docomo/download/tools.html
micro3d_v3_32.dll
(Mascot Capsule Engine Micro3D Edition ver3, Doja3.0用)
iαppli Development Kitのインストールされているフォルダのbinフォルダ内にコピーして下さい。
これがないとcom.nttdocomo.opt.ui.j3dは使えないよ
0303デフォルトの名無しさん
NGNG今までpaintメソッド内で描画をしていたんですが
使いづらいのでpaintメソッド外でlock/unlockで細かく描画をしようと思ったのですが、
どうも上手くいきません。
ちゃんとCanvas#getGraphicsでグラフィックオブジェクトは取得しているはずなんですが・・・
0304デフォルトの名無しさん
NGNGうまくいかないってのは、どういう結果になる?
普通にGraphicsに描画すれば何も迷う必要無いはずなんだが。
paintの使い方、根本的に勘違いしてないか?
0305222
NGNGまずCanvas継承クラスのメンバとしてGraphics gを宣言する。
(staticにすると良いと思う。)
コンストラクタでg = getGraphics();をする。
paint(Graphics g) {} として、中身を空にしておく。
これでどこからでも使い放題です。
0306222
NGNGオブジェクト指向にしたい場合はstaticは止めてprivateだけにすると良いと思う。
Canvasは完全に描画のみに絞ってメインループ専用クラスにオブジェクト渡して
MyCanvas m = new MyCavnas();
for (;;) {
m.method1();
m.method2();
m.method3();
}
みたいなのがスマートかな…
0307デフォルトの名無しさん
NGNG具体的にいうと、何も描画されないのです。
Frame#setBackground()で背景色はでているのですが。
>>305
そのようにしてるのですが、やはり背景色以外なにも描画されていません。
getGraphics()をすればunlockした時点でキャンバスに描かれると色々なページを見て
思っていたのですが、間違っていますか?
とりあえず何か描画させようとした時はこんな感じです。
g.lock();
//lockとunlockの間に描画命令(g.drawImageなど)を行う。
g.unlock(true);
0308222
NGNGとりあえず、
public void paint(Graphics g) {}
void draw() {
g.lock();
g.drawString("test", 100, 100);
g.unlock(true);
}
これやってみそ。
あ、もしかしてコンストラクタ内でg = getGraphics();の直後にdraw()を呼び出していて、
しかもDisplay.setCurrent(new canvas());
とかやってないよね?
ディスプレイにセットされてないのに呼び出しても画面に反映されないよ。
0309デフォルトの名無しさん
NGNGimport com.nttdocomo.ui.*;
public class a extends IApplication {
public void start() {
exCanvas e = new exCanvas();
Display.setCurrent(e);
e.draw();
}
}
class exCanvas extends Canvas {
Graphics g;
public exCanvas() {
g = getGraphics();
}
public void paint(Graphics g) {
}
void draw() {
g.lock();
g.drawString("Hello World!!", 100, 100);
g.unlock(true);
}
public void processEvent(int type, int param) {}
}
0310デフォルトの名無しさん
NGNG>>308さんの指摘どおり、
setCurrentする前に描画テストやってました。
こんな間違いに気づかなかった自分が恥ずかしい・・・
スレ汚し申し訳ありませんでした。
0311デフォルトの名無しさん
NGNG一般人でも、
iアプリを売れますか?
vアプリを売れますか?
ezアプリを売れますか?
0312デフォルトの名無しさん
NGNG売ることは可能。
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG3.0
0316デフォルトの名無しさん
NGNGR/Wからiアプリ起動できるのはP506とSo506だけじゃなかったっけ?
0317デフォルトの名無しさん
NGNGそうみたいだな
SH506iC,F900iCは非対応
(つーか早く公開しろよ>ドコモ)
0318299
NGNG情報ありがとう。
やはり F900iC は非対応だったんですね。
せっかく PaSoRi で Push コマンド送出するコード書いたのに…。
0319デフォルトの名無しさん
NGNGconnect()すると
com.nttdocomo.io.ConnectionException: Illegal header
となってしまう。このエラー出た人対処法教えてくれないか、なんのヘッダーなんだかわからんのよ
ADFとエミュレータの設定しなおしてもさっぱりだ
PackageURL = chatAppl、 UseNetwork = http
も書いて
ADFのURLとプロキシにhttp://localhost/、プロキシポートは80
トラステッド動作設定の通信を許可するURLは*
としたんだがあとは何が足りないだろう。
CGIの動作はブラウザから確認したところ問題無かった
0320デフォルトの名無しさん
NGNGサーバーがわでどんなヘッダー返してるのさ
0321319
NGNG>>サーバーがわでどんなヘッダー返してるのさ
サイトにあったソースほとんどそのまま使ってるんだけど。
print "Content-type: text/html\n\n";
サーバーから送ってるヘッダーってこれだよね?ほかにprint文はprint "$data"; ってのしかないし。
0322デフォルトの名無しさん
NGNGブラウザも串経由で確認してるか?
串がアヤシイと思うんだが
0323319
NGNGADF設定というかJamファイルはこんなかんじになってるんだけど。。
UseNetwork = http
LastModified = Thu, 23 Sep 2004 00:51:33
AppClass = chatAppl
AppName = chatAppl
PackageURL = http://localhost/cgi-bin/chatAppl.jar
AppSize = 5345
実際はエミュでやってるんだけれどもPackageURLはこんな記述でいいの?
cgiは
http://localhost/cgi-bin/iServ.cgi
に置いてあるんだけど。
javaのソースはこれです
ttp://haiiro.info/up/img/2088.zip
0324デフォルトの名無しさん
NGNGPOSTしてるのにContent-Typeがないとか、へんなことやってない?
0325デフォルトの名無しさん
NGNG「SDK for FeliCa Lite」と「PaSoRi」を使って PC から iアプリで
確保した Mobile Felica の領域に対して読み書きを行うアプリケーション
を作成する事は可能なのでしょうか?
またはそれ以外の方法で「PaSoRi」を通して Mobile Felica の領域に
対して読み書きを行う方法は有るのでしょうか?
必須であるのならば購入を考えているのですが、そうほいほいと手をだそう
と思える値段をしていませんので…
0326デフォルトの名無しさん
NGNGフリー領域であれば Lite で全く問題ない。
共通領域で、暗号鍵を利用する場合は、そもそも PaSoRi を使うこと自体が
難しい(SDKだけじゃできない)。
0327319
NGNG接続するアドレスは
http://localhost/cgi-bin/iServ.cgi?message=%83%6A%83%62%83%4E%83%6C%81%5B%83%80%81%46%83%65%83%4C%83%58%83%67%82%CD%82%B1%82%B1
こんなかんじになってる。GETメソッドでやってるさ。
cgi側も
if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }
print "Content-type: text/html\n\n";
ってやってる。
どうにもならんから
ttp://www.geocities.co.jp/SiliconValley-Bay/2972/java94.htm
のサンプルコードを試したけど、こっちもconnect()でこけてるよ
エミュの設定なのだろうか…みんなネットワークの設定ってどうしてるの?
0328デフォルトの名無しさん
NGNG回答ありがとうございます。
使えるとのことですので早速(研究費で)購入して
いじってみたいと思います。
0329デフォルトの名無しさん
NGNGconn.setRequestMethod(HttpConnection.GET);
conn.setRequestProperty("Content-Type", "text/plain");
conn.connect();
これ、GETの時にContent-Typeの設定つけたら動作しないんじゃなかったっけ?
0330デフォルトの名無しさん
NGNGそう。GETでContent-Typeなんてつけちゃだめ。
Content-Typeがどういう意味か知ってるならこんなことしないだろうに…。
そもそもリクエストヘッダの問題って言ってるのにCGIのコードを出す時点でかなり理解度に難ありなのだがw
0331デフォルトの名無しさん
NGNGDoJaのDialogってメモリ食いますか?
自作アプリで何回かDialogでメッセージ表示すると、N505では動作不安定になります。
アプリ自体はImage等で画像はかなり使用している状況です。
また同じN505アプリでDialogを開かないようにアプリを動かすと安定して動作します。
0332デフォルトの名無しさん
NGNGDialogは使った事無いからよく分からんけど、
高レベルAPIだから内部でいろいろやってそうな感じだね。
ひょっとしたらDialogの影になってしまう部分を
ヒープにコピーしたりしてるかもしれないし。
どういう風に不安定なのか分からんけど、
Imageは可能であればまとめてメモリに展開しておくといいよ。
さらに可能なら一枚にまとめてしまうといい。
あとは出来るだけ細かくSystem.gc()を呼び出すこと。
0333デフォルトの名無しさん
NGNGN505やD505などのヒープが少ないのは
イメージをまとめてメモリに展開するとOutOfMemoryExceptionがでやすくなると思う。
その逆に細かく使う分だけ展開するのが良いと思うが。
あとSystem.gc()は細かく呼び出してもすぐ実行される訳でないから
それほど細かく呼ぶ必要ないよ。
0334デフォルトの名無しさん
NGNG細かく展開してgc()しなかったらメモリがすぐ断片化してしまうよ。
見かけ上メモリがあるように見えてもOutOfMemoryになりやすくなる。
やればわかるけど出来るだけローカルで宣言して、
いらなくなったらすぐにgc()するようにすれば、
ある程度のメモリは常に確保できる。
メモリが足りなくなって初めてgc()を呼んでるようだとgc()に時間が掛かる。
しかも参照がバラバラになっていて断片化しやすくなる。
オブジェクトは使うたびに作成しないで使いまわすのが基本。
VMまかせにしないで自分で考えてプログラミングするべきだよ。
0335デフォルトの名無しさん
NGNG「gcでメモリコンパクションを行わない」って機種があるんだが、それって細かく断片化たら
大きなメモリは取れなくなる可能性があるって事?
長時間動かすとOutOfMemoryになり易くなったりするのかな?
0336デフォルトの名無しさん
NGNGそう>断片化。
まあ、Cのmalloc()/free()だってそうだけどね。
でも、実際には殆どのサーバはCで書かれてるわけで。
0337デフォルトの名無しさん
NGNG同様にPannelが解放されない機種もある。
PennelはN503とかそうだったな。
N504もDialog解放されなかったはず。
N505はわからんが、前科持ちなので信用するな。
一度作ったら、使いまわすようにしたほうが(・∀・)イイ
0338デフォルトの名無しさん
NGNG大人しく全機種JBlendになるのを待つか。
0339デフォルトの名無しさん
NGNGあまり作るのが簡単になると、商売にならなくなっちゃうの(゚∀゚)
0340デフォルトの名無しさん
NGNGテストはされているんだけど、
「稀なケースなので」「インスタンス使いまわせば動くので」
「完璧を目指すと開発費が高くなるので」「そのモジュール他社から買い入れたものなので」
なんて理由で修正を間逃れてまつ。
0341331
NGNG>>337
ありがとうございます。
まだちゃんと調べてないですが、挙動から言ってN505はDialogはメモリ開放されてないっぽいです。
使いまわしてやってみます。
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNGんなわきゃーない。
0346デフォルトの名無しさん
NGNG自動的にそうせざるを得なくなる という意味合いだと思われ。
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNGどーせモーダルなんだしYNとかYNCとか使わないし
0349デフォルトの名無しさん
NGNGN504じゃなかったっけ?
P504はDialog後に再描画を要求するし、ぶっちゃけ商業だと「Dialog禁止」って言われる
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG到着確認のメールを返信するというものを考えています。
デフォルトで入ってるDimo絵文字メールは同じアプリから送ってきたメールしか
そのアプリの受信ボックスに入らないみたいだけど、
メールを受信するときにヘッダか何かを見て割り振ってるのかな?
普通のメーラーから送ってきたときもアプリの受信ボックスに格納したいんだけど、
できますか?
0353デフォルトの名無しさん
NGNGデラックスが使えないと無理
0354デフォルトの名無しさん
NGNGSDカードか何かにアプリのメール吐き出してPCから見れば
どういう仕掛けでアプリの受信フォルダに入るか判るぞ。
0355デフォルトの名無しさん
NGNGダイアログ閉じたときに再描画を要求するのは
別にいいんじゃないカナ?
0356デフォルトの名無しさん
NGNG典型的な俺の死に様。
0357デフォルトの名無しさん
NGNGP504だけ ってのがね。
仕様的には「それでもいい」んだが、例外は嫌!
0358デフォルトの名無しさん
NGNGN504なんかは、わけわからんタイミングで再描画要求しまくってた気がするがw
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNGある特別な場面に入る前にコピーしておいて、
その場面でフォント変更とか座標基本位置とか変えまくっていろいろして、
抜けたら元に戻す。
とかの時に使えなくはない。かな。
0361デフォルトの名無しさん
NGNGほかのデータを上書きしてしまいますよね?
色々なiアプリがありますけれど、データ管理はどうやるのがメジャーなんですか?
0362デフォルトの名無しさん
NGNGスクラッチパッドの先頭にデータの個数、
それに続けてそれぞれのサイズと実データを記録して起動時に全部メモリに読み込む。
セーブの時も一度にメモリの内容を全部書き込んでしまう。
オートセーブしたいなら予めサイズを決め打ちしてしまう。
0363デフォルトの名無しさん
NGNGThread.sleepメソッドに関してなのですが、実行するとNullPointerExceptionが出ます。
別の場所で実行した場合は問題なく実行されるのに、
なぜかstart()からrun()メソッド内で実行するとNULLが出てしまいます。
どうすれば直せるでしょうか?何が原因か分かる方はいらっしゃいませんか?
0364デフォルトの名無しさん
NGNGオブジェクトがNullになってます。
まずNullPointerExceptionがでるところを確定させること。
0365デフォルトの名無しさん
NGNG0366363
NGNG0367デフォルトの名無しさん
NGNGなるほどねー。
画面をcopyするんじゃなくて、属性とかをcopyするのか。
てっきり前者だと思ってなんのためにあるんだろって思ってたよ。
サンキュ。
0369デフォルトの名無しさん
NGNG。・゚・⌒)
−=≡ _ _ o━ヽニニフ ))
−=≡ ( ゚∀゚)彡。・゚。・⌒)
−=≡ ⊂ o━ヽニニフ ))
−=≡ ( ⌒) チャーハン!チャーハン!
−=≡ c し'
0370363
NGNGNullPointerExceptionが出るのはThread.sleepだけでしか起こりません。
ほかは一通りスレッドは使わずに実行してみましたが、全て問題なく実行されます。
Thread.sleepだけが実行されません。Thread.sleepだけが。
0371363
NGNGお騒がせしました。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGThread.sleepに何か問題があるのかとみんなガクブルしちゃうでしょ。
0375デフォルトの名無しさん
NGNGThread.sleep(); とかやったんだろう。
0376363
NGNG0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNGやっぱDOSコピーでヘコヘコしてんのか?
次世代開発環境を聞かせてくれ
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNG漏れはそうしてる
0381デフォルトの名無しさん
NGNGということなのでしょうか。たとえば、休眠状態を継続しつつタイマイベント
を1時間おきに発生させるような処理は可能ですか。
0382378
NGNGバッチの方が早そうだ。
コノ作業は10年前から変わらんね。
0383378
NGNGすまん。
前言撤回。
ruby最高!
0384デフォルトの名無しさん
NGNGsetWakeupTimer()
使うと、休眠状態でも定期的に動作させられるぞ。
0385363
NGNG片っ端からメソッドを試してたんだけど、下の方の忘れてたようなメソッドにあったので発見にてまどりますた。
0386デフォルトの名無しさん
NGNGああ、それってコンパイラが警告してくれてもいいのにねえ。
漏れも初心者のことハマった記憶がある。
0387デフォルトの名無しさん
NGNG被ったとき、エラーにするか警告にするか無視するか指定できるよ。
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGうちでは表示されるから表示する方法はあるんだろうな
喪前と何が違うのかは知らん
0390デフォルトの名無しさん
NGNGiアプリで文字列をエンコードした時と
servletで文字列をエンコードした時で
結果が変わるのだけど、serlvet上で
iアプリと同じようにエンコードできないでしょうか?
例えばテレビをエンコードすると
iアプリ→%83e%83%8C%83r
servlet→%83%65%83%8C%83%72
となってしまう。eがservletだと文字コードの65になるのは
なんとなくわかるんだけど、自分で変換しなくても
encodeTypeでなんかないのかな?
今はshiftjisでエンコードしてて、他のもいろいろ試したけど
iアプリと同じようなエンコードになるのがなかった…。
いい方法があれば教えてください。
0391デフォルトの名無しさん
NGNGeが0x65でrが0x72なんだよね?ちゃんと調べてないけど。
だったらどっちも等価なので問題ない。
まともなデコーダなら、どっちもデコードしたら同じ結果になるはず。
0392デフォルトの名無しさん
NGNG等価なのはわかるんだけど、比較したときに等価だと判断されないので
なんかいい方法は無いかとおもって
そこだけdecodeして比較とかなんかカコワルイ感じもするし
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNG何でも比較するときには正規化は必須でしょう。
今回のケースでは、正規化はデコードすること。
0395デフォルトの名無しさん
NGNGPhoneSystem.setAttribute(PhoneSystem2.DEV_I_LIGHT, PhoneSystem2.ATTR_I_LIGHT_WHITE );
のライト点灯時、明るさが足りないのですが、
カメラでの撮影時のライトくらい明るくすること
はできないのでしょうか?
0396デフォルトの名無しさん
NGNG仕様
があるはず…。
それとは違うかな?
常に暗い状態で、ボタンとか押しても明るくならないのなら、それ。
「アプリ時のライトの設定」みたいな項目があって、それが絶対優先されてしまう。
バグ扱いされてコマタ
0397デフォルトの名無しさん
NGNG本人のやる気次第でなんとでもなりますか?
0398デフォルトの名無しさん
NGNG結果として、使えない人もいるし、驚くほど成長する人もいるし。
結局やる気じゃない?
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNG初心者ほど、世代の新しい言語がいい。
Javaは開発環境も整ってるし、iモード携帯Javaは癖があるように見えて、
端末の個体差を意識するレベルまで踏み込むまでは、きっちりとした
Java端末でしかない。
アップロードも自由にやっていいし、自分の持ってるケータイで
自分の書いたアプリが動くのは、結構感動する(w
調子に乗ると、パケ代が馬鹿にならないけどね。
そんなわけで、まずははじめてみれ。
少々の事なら、このスレの住人優しいし、皆いろいろと教えてくれるさ。
0401デフォルトの名無しさん
NGNG初心者にはjavaの方がいい。
*a+i と a[i]は同じなんだぜとか言われても混乱するだけ。
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG察してヤレ
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGCalendarクラスのaddメソッドを使うとコンパイルエラーになります。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -5);
「シンボルを解決できません。」となります。
Dojaではこのメソッドは使えない?のでしょうか
リファレンスにもこのように書いてあるのですが・・・
0413デフォルトの名無しさん
NGNGCLDC1.0では使えないんじゃないの?
CLDCのAPIリファレンスを見るベシ>>2
0414デフォルトの名無しさん
NGNG初心者スレの4様を参照
http://pc5.2ch.net/test/read.cgi/tech/1089530578/4
0415デフォルトの名無しさん
NGNGCLDCは1.0も1.1もCalendar#addなんてメソッドはない。
0416デフォルトの名無しさん
NGNGttp://www.adyada.com/
0417デフォルトの名無しさん
NGNG現在
携帯のフォント文字が飛び交うようなアクションゲームのアプリを作っているのですが、
paint内で
キャンバスにdrawStringで一文字ずつ描画してまして(スプライトのような感じで)、
それを1秒間に10フレームくらい更新してアクションゲームとして進行させているのですが、
実機上で(D505iなど)
20〜30文字くらい表示するともう処理が追いつかず、処理落ちしてしまいます。
文字以外は何も表示していません。
基本的に
drawstring はけっこう処理を食うものなのでしょうか?
0418デフォルトの名無しさん
NGNG文字数より実行回数に比例するけど。
D505もってないんだけど、6x12でdrawImageするのとdrawStingで1文字はどっちが早いんかね?
0419デフォルトの名無しさん
NGNGずいぶん重たい感触がある。
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGレスありがとうございます。
なるほど、やはり重たいのですね。
逆に安心しました
そうすると、一画面に30文字以上とか表示する場合に、
毎フレーム全文字描画していては
あまり速度が期待できないわけですね。
iModeのサウンドノベルとかはけっこうな文字数表示していますが、
どうやっているんでしょうか
まぁあれはアクションではないですし、
毎フレーム全部drawStringしている、というわけではないのかな。。
0422デフォルトの名無しさん
NGNGdrawImageでしたらけっこう描画いけるのですが、
今回drawStringを試したとたん処理落ちしたので、今回の質問をさせていただきました。
やはりフォントの描画は
かなり重い感じなんですね
0423デフォルトの名無しさん
NGNGすれば速いのかな?
0424デフォルトの名無しさん
NGNGぶっちゃけ、1フレ1文字とかで書いて、絵を保存してるだけではないかと。
つまり>>423か、単に前に書いた絵を消してないという例のアレ。
使い方間違えなければ、そんなベラボウに重たいわけでもないけどね。
漏れに限らず、4回+1回描画で縁取りフォント書いてる例なんてのも
よく見かける。
試したわけじゃないが、フォントサイズ等でも結構変わったりするもんなのかな。
12x12か24x24の標準フォントってやつしか使ったこと無いから、よくわかんないや。
0425デフォルトの名無しさん
NGNGなるほど、とても勉強になります
イメージにフォントを保存しておいて、drawImageで毎フレーム描画するか・・
それとも描画を消さずに書き足していく例のソレにするか・・・
なかなかの悩みどころですね
ちなみに
>>424さんは、1文字につき5回描画していらっしゃるようですが、
その場合毎フレーム描画しているのでしょうか?
0426424
NGNG字数にもよるけど、毎フレーム書く場合もあるます。
例えば
//RGB
void setRGB(Graphics g, int rgb)
{
g.setColor(Graphics.getColorOfRGB(rgb>>16, (rgb>>8)&0xff, rgb&0xff));
}
//文字描画縁取り有りアンカ指定無し
void drawString(Graphics g, int baseRGB, int edgeRGB, String str, int x, int y)
{
setRGB(g, edgeRGB);
g.drawString(str, x, y-1);
g.drawString(str, x+1, y);
g.drawString(str, x, y+1);
g.drawString(str, x-1, y);
setRGB(g, baseRGB);
g.drawString(str, x, y);
}
こんなゾンザイなコードだけど、1画面10文字ちょいくらいなら、気にせず書いちゃうかな…。
確かに負担は少なくないので、使いどころは気をつけます。
アクションゲームとかなら、フォントは原則drawStringよりdrawImageかも。
特に数字とかだけなら、GIF刻んで表示した方が断然速いですし。
0427デフォルトの名無しさん
NGNGコードまで拝見させて頂きましてありがとうございます。
縁取りのやり方、なるほどと思いました。とても為になります。
そうですね、今回作りたいものがアクションゲームよりですので
表示文字が動く場合にはやはりdrawImageの方がよさそうですよね。
ちょっとその方向で頑張ってみようと思います。
夜分遅くどうもありがとうございました。
とても勉強になりました。
0428デフォルトの名無しさん
NGNGプログラム容量減らしたいんですが、
scratchpadにプログラムを置く事って出来るんでしょうか?
また、シェープアップの裏技とかってあるんでしょうか?
ターゲットは505と900です。
0429デフォルトの名無しさん
NGNG本体側をスリムに出来なくはない。
0430デフォルトの名無しさん
NGNGソフトを、オーバーレイみたいな感じで外に出すのは無理なんじゃないかな。
0431デフォルトの名無しさん
NGNG>>2
■ アプリを省サイズ化するツール(ObfuscatorまたはOptimizer)
jargはバグってるので-nobcoを付けないとダメ
> scratchpadにプログラムを置く事って出来るんでしょうか?
クラスローダーが無いから無理
> また、シェープアップの裏技とかってあるんでしょうか?
jar.exeのかわりに7zipを使う
クラスを作り過ぎない
アプリからアプリを起動できるから、アプリを2つに分けるって手もある
0432デフォルトの名無しさん
NGNG素晴らしい。
聞いてみるもんだね。
>>429
>>430
プログラム以外の部分は、既に外に置いとるのですよ。
その事、書くの忘れてますた。
>>431
お陰さまで31kが19kに生まれ変わりました。
ありがちょ。
0433デフォルトの名無しさん
NGNG作ったものをテストするのにパケット代がかかるのは嫌なんです。
0434デフォルトの名無しさん
NGNGdojaでやるしかないと思う・・・
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG505i用に作ったアプリを900で動かしているのですが、N900iだけ
初回起動時は普通に動いて、2回目以降はタイトルからゲーム中に行く時の
画像読み込みでアプリエラーが発生してしまいます。
メッセージはこれなんです。
/***********
message = Uncaught exceptin happened
throwable = java.lang.OutOfMemoryError
throwableMessage =
curClass = com/nttdocomo/ui/MediaDatalmpl
curMethod = use
***********/
これはADF設定でSpSizeを変更(DLLする容量+10KBに)することで解決したいのですが、
ヒープエラーだとしても原因が分かったわけでは無いのでスッキリしません・・・。
よろしければどなたかご教授下さい。m(__)m
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNGあ・・System.gc()は画像を読み込む毎にかけていますが…。
強制終了時に画像解放していないから、とかでしょうか?(汗
質問ばかりですいません。
それと訂正です。
× 初回起動時は普通に動いて、2回目以降はタイトルからゲーム中に行く時の
○ 初回起動時は普通に動いて、2回目の起動以降はタイトルからゲーム中に行く時の
0439デフォルトの名無しさん
NGNG過去ログ嫁
といおうとしたら、過去ログまだHTML化されてないのか…。
N900とP900にはJPEG読み込みにバグがあって、一定以上メモリーを使ってから
JPEGを読もうとするとメモリーエラーで落ちる。
解決方法としては先にJPEGを読むか、(なぜか)SPサイズを409600にする
0440デフォルトの名無しさん
NGNGNとPはスクラッチパッドから絵を読むときlengthを付けないとOutOfMemoryになるぞ
0441436
NGNG画像は全てgifを読み込んでいます。説明不足ですいません(汗
>440
P900iは普通に動作しています。
じつは、画像が30枚あるのですが、スクラッチパットからの読み込み順を
0〜29から29〜0に変更したら、アプリエラーが発生しなくなりました(汗
ナゾだ・・・。
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG読み込み順番を変えたら起こらなくなったのを考えるに
やっぱりJPG読み込み系と似た症状だな。
でも全てGIFなのか…。
拡張子はGIFだけど、実は中身がJPEGとかそういうオチはないかな?
0444436
NGNGバイナリを確認したところ最初はGIFでしたので大丈夫かと思います…。
色々やってみますんでまた何かわかったら報告させていただきます。
皆さんご助言ありがとうございました〜。
0445デフォルトの名無しさん
NGNGきちんとバイナリチェックまでするとは、見上げた向上心。
いつでも歓迎するから、何かわかったら是非報告しに来ておくれ。助かる。
0446デフォルトの名無しさん
NGNGパネルに
大きさが1文字分のテキストボックスを縦に並べたいのですが、
デフォルトでLayoutManegerに任せるとテキストボックスはどんどん右に並んでいって、
画面端に到達すると一段下に行く、という感じになってしまいます。
これをひとつずつ縦に並べたい場合、
一般的にはLayoutManegerをnullにして
コンポーネントのXY指定で並べていくしかないのでしょうか?
0447デフォルトの名無しさん
NGNG<br>効果のメソッドがあったはずだが。
0448デフォルトの名無しさん
NGNG0449436
NGNGはい、そうなんです…。
1回目の起動で画像をDLして、スクラッチパットに保存。
その後スクラッチパットから読み込んで使用。
ここで一度終了します。
2回目以降の起動ではスクラッチパットから読み込んでいますが、途中で落ちます。
この時、SpSizeの値によって落ちるタイミングが違います。
(画像 30枚 : 合計 38KB)
SpSize = 200KB の場合、17枚めの読み込みでアプリエラー
SpSize = 100K の場合、28枚めの読み込みでアプリエラー
SpSize = 50KB の場合、30枚全て読み込み可能でエラー出ません。
それと見当違いかも知れませんが、try catch で UIException を取れずに落ちました…。
0450デフォルトの名無しさん
NGNG使用メモリを各所で表示するようにして実験したらどこがまずいのか分かるかも。
初回起動時とそれ以降で、スクラッチパッドからの読み込み部分の頭で違うかもしれない。
0451デフォルトの名無しさん
NGNGNだけ初回起動と2回目の起動でなんか動作違うことあったなぁ・・
なんだったっけかな
0452デフォルトの名無しさん
NGNG例えば、画像サイズが1番から1,2,3,4,5のとき、
スクラッチパッドから画像を読み込むときに画像サイズと同じメモリを使用するとすると、
1番から読み込む場合、最後の画像を読み込んだ瞬間の使用メモリは1+2+3+4+5+5=20
逆だと5+4+3+2+1+1=16
内部的にどうなってるか知らんので当て推量だが。
0453デフォルトの名無しさん
NGNG今回は、初回と2回目以降で処理内容が違うから関係ないのでは?
0454デフォルトの名無しさん
NGNGjava.lang.OutOfMemoryErrorがスローされるんだろ?
Throwableをcatchしてるか?
ExceptionじゃなくてErrorだから、両方の親のThrowableをcatchすると楽
0455デフォルトの名無しさん
NGNGNとPは通信と画像読み込みにバグがある。
解決方法としてはSPサイズを409600にするか、起動直後に(無駄だとしても)JPG画像を
最低1枚読み込み(すぐ解放してもよい)、通信を行う(openする。すぐcloseしてもよい)ことだ。
これで大筋正常になる。
はっきり言って ビチ糞にも劣るハード だが、ソフト屋はハードのバグにも対応するのが慣例らしいな。
さっさとパッチあてろといいたくなる。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNGFont#setDefaultFont() ぐらいは試したんだろうな?
0458デフォルトの名無しさん
NGNGSEO対策にしても、ちとやり方が露骨すぎねーか。
相互発展も何も力関係が不平等すぎるし。
少なくとも俺はウチのサイトに来た人間を逃がすつもりなどさらさらない(w
0459デフォルトの名無しさん
NGNG糞重いメール届いたと思ったらヘッダに大量のアドレスが…
0460デフォルトの名無しさん
NGNGあの会社はいまどき1000人以上にメール送るときでもメーラーつかってんのかな。
MLにでもしたらいいのに・・・
0461デフォルトの名無しさん
NGNG誰かこっそり教えて。
0462デフォルトの名無しさん
NGNG3D表示(視点移動などする)でワイヤーフレームを表示したいんだが、
参考になるサイトはあるかな?
マスコットの3D表示は出来るんだが、
ワイヤーフレームを表示となるとよく分からなくなってくるもので・・・。
0463デフォルトの名無しさん
NGNGワイヤーフレームといっても色々あるからな…。
単純なスクリーン投影タイプでよければすぐできるんじゃない?
0464デフォルトの名無しさん
NGNG単純なワイヤーフレームなら計算で線引きするけど、
やりたい事というのが、ワイヤーフレーム内部にポリゴンオブジェクトを表示して
動的にカメラ視点の移動をさせるという事で、
さらに俺には、3D系の知識は皆無なんですよ(物理や数学が苦手という、最大の問題もあるけど)。
まあ、あわよくば3D表示データを数値設定しているようなサンプルソースが手に入れば・・・
とも思っていたんだけどね。
ん・ぱか工房のサンプルソースだと、ちょっと心許なかったもので、聞いてみました。
他に参考になりそうなサイトがあれば、(iアプリじゃなくても)教えてくれませんか?
0465デフォルトの名無しさん
NGNGまあ、苦手でも必要な部分は理解しておかないと
サンプル見て作っても後々苦労することになる。
今のうちに勉強しとけ
0466デフォルトの名無しさん
NGNGうむ、現状おかれている難問で勉強する気にはなった。
しかし・・・、プロトタイプ版の作成が期限間近なんで勉強する暇はないんですな(泣)。
まあ、実開発でも始まれば、教材を買いに行く時間ありそうだけどねぇ。
とりあえず出来るか分からんが、プリミティブ配列に線のプリミティブ12個(ワイヤー数)を
設定して立方体の描画テストしてみるわ。
・・・つうか頂点座標の計算どうしようかなぁ・・・。
0467デフォルトの名無しさん
NGNG頂点計算はたいていライブラリが持ってたりするので、
利用するのが良いと思う。
あと、ん・ぱか工房の説明は見ておいたほうがいい。<アフィン変換と視点座標
あとは、点の座標を保持して、透視変換したあと線を描いたほうが良くないか?
0468デフォルトの名無しさん
NGNGテキストボックスで入力モードをカナ漢字モードに設定すると、
実機ではちゃんとカナ漢字モードになっているんですが、
Doja3.5のエミュレータ上だと数字入力モードになっていて、カナ漢字に変更する事ができません。
エミュレータでカナ漢字にするには何か別の設定が必要なのでしょうか?
0469デフォルトの名無しさん
NGNGPrimitiveArrayを使って、座標は変換前のものを保持するようにして、描画時に
ワールド座標からの変換をすればよろし。
0470デフォルトの名無しさん
NGNGま、コード示してないからよくわからんけど。
0471デフォルトの名無しさん
NGNGゲームプログラミングのための3Dグラフィックス数学
http://www.gogo3d.com/products/mathema/
ゲームプログラマの事実上の教科書になってる本。高いけど1冊持っておくとよろしいかと。
いきなり全部読みこなす必要なし。たぶん携帯でも役に立つ日がすぐ来る。
こいつ片手にDirectX系の解説サイトでも漁るべし。
実は最近3Dプログラミング界隈あまり進展がないので、追いつくなら今だ。
0472デフォルトの名無しさん
NGNG確かに勉強にはいい時期かもしれん。
あと、古典的だけど、ゲーム数学の勉強には、普通に計算幾何とか計算機数理の教科書がいいよ。
とりあえずガンガレ。
0473デフォルトの名無しさん
NGNGもう、レンダリング手法とか、テクスチャの手法は十分な感じで、動きの表現もたいがい出揃った感があるね。
0474デフォルトの名無しさん
NGNGエミュレータ上では、カナ漢字は普通にキーボードから入力することに。
エミュレータのキーを押してもカナ漢字変換されないよ。
0475デフォルトの名無しさん
NGNG煮込めばまだまだいくらでも煮詰められるんだろうけど、
努力の量と得られる利益の分岐点は超えた気がするよね。
でもケータイにシェーダ載るとなったら、もう一ネタあるかな?
…如何に消費電力を抑えるか、なんて、シェーダからアプローチできたら面白いんだが。
ちょっとしたサンプルを作ってみた。
ttp://narunia.ddo.jp/~puni/wf/
ソースは
ttp://narunia.ddo.jp/~puni/wf/src.zip
ローカル座標系からワールド座標系への変換はやっていないんで、
もし必要だったらいろいろ実験してみてくれ。
0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNGレスどうもありがとうございます。
キーボードを押すという事にまったく気づかず
必死にエミュレータのボタンだけを押してましたw
勉強になりました。
どうもありがとうございました。
0479462=464=466
NGNG(特にサンプルを作ってくれた >462 さんに多謝)。
フレームの描画と回転に関しては、とりあえず出来るようになりました。
理論の部分に関しては、>471 さんの紹介してくれた本を勉強する事にします。
で、たびたび教えて君な質問で恐縮だけど・・・。
一つのモデル(Figure?)を複数、別々の座標に描画させたいんだけど、iアプリ(Javaの命令)
で出来るかな?
マニュアルを読むと、「Micro3D においては,モデル座標はFigure の中に隠蔽されています」
と書かれていて出来なさそうな感じ。
今はプロトタイプ作成なんで、無理矢理「setScreenCenter」で座標をずらして描画してるけど、
なんか別の方法があるような気がして・・・。
0480462=464=466
NGNGサンプル作ってくれたのは >476 さんです。申し訳ないです。
0481476 ◆lcP.ltB.PU
NGNG結論から言うと出来る。
各モデルごとにローカル座標→ワールド座標変換用のAffineTransを持たせておいて、
描画時にワールド座標→視点座標変換用のAffineTransとの積をとって、それを
Graphics3D#setViewTrans()で設定してから描画すればいい。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNG0484isis
NGNGif(point<0 || len<=0) return null;
byte[] ldByte = new byte[len];
InputStream in = null;
try{
in = Connector.openInputStream("scratchpad:///" + Integer.toString(sp) + ";pos="+Integer.toString(point));in.read(ldByte);
in.close();
in = null;
}
catch(Exception e){
if(in!=null){
try{
in.close();
}catch (Exception err) {}
}
in=null;
return null;
}
if (ldByte == null) {
String not = "There is nothing.";
return ldByte = not.getBytes();
}
else
{ return ldByte; }
}
テキストボックスの保存内容が無いときに、メモ欄に ldByte == null を表示したいのですが
ldByte がどうしてもnullにならなくて、空白になってしまいま・・・
スクラッチパッドを初期化してもだめで、
ldByte をint にすると17とでたので、参照があるぽいので
String に直したら変な文字化けぽいのがでます・・
文字が " " でない保存、読み込みは普通にできますが・・
0485デフォルトの名無しさん
NGNGとしてるわけだからldByteがnullになることはないっしょ
0486デフォルトの名無しさん
NGNGiアプリからbluetoothを利用することはできますか?
0487デフォルトの名無しさん
NGNGむり
0488デフォルトの名無しさん
NGNG485も言ってるが、
>byte[] ldByte = new byte[len];
この行を百回声に出して嫁!
0489デフォルトの名無しさん
NGNGできます
0490デフォルトの名無しさん
NGNGAPIが無いのに利用なんてできないだろ
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG透明色で塗りつぶすことってできないんでしょうか?
0494デフォルトの名無しさん
NGNG透過が表現できるのは透過gifを画面に描画するときだけ。
0495デフォルトの名無しさん
NGNGサンクス。
透明色無いとマップレイヤー付けられん。
何使おうかな…。
0496デフォルトの名無しさん
NGNGMIDIファイルをPsmPlayerでMLDに変換したファイルと
wavファイルをPsmPlayerでMLDに変換したファイルを2つ用意してます。
この2つをiアプリで同時に再生しようとしたらBGMのドラムパートが鳴りませんでした。
そこでネットで調べてみると
N505i/N900i/SO505iは「1ch〜8chを使ってBGMを作らないとマズイ」らしいので
MIDIのドラムチャンネルをデフォルトの10chから7chにエクスクルーシヴ使って変更してみました。
が、PsmPlayerでMLDに変換するとドラムパートが10chにもどってしまいます。
うーん。
もしかしたら大きな勘違いをしているのかもしれません。
プログラム上では
AudioPresenter.getAudioPresenter( 0 ) ... BGM用
AudioPresenter.getAudioPresenter( 1 ) ... SE用
としており、問題はないと思っているのですが。。。
ダラダラ長文質問ですみませんが、どなたかご存知の方いらっしゃいますか。
0497デフォルトの名無しさん
NGNGN系の音源にエクスクルーシブでドラムCHを変える昨日はないし、その意味とは違うよ。
素直にノートデータをch8以下のところに変更してバンクセレクトを適切に入れてください。
もしかしたらpsmplayerでは出来ないかもしれないけどね。
0498496
NGNGレスありがとうございます!
バンクセレクトを入れるというのは、コントロールチェンジ0,32を使って
ドラムの音色があるバンクに切り替えるってことでしょうか??
MIDI素人なので「基本」だったら申し訳ないです。
何番のバンクを指定すればいいのだろう。。。
バンクの番号って携帯機種依存なのでしょうかね?
そういった情報をネットで探してるのですが、なかなか見つからない。。。(汗
またしても見当違いでしたらすいません
0499デフォルトの名無しさん
NGNGバンクセレクトはその認識でOK。
バンクなど音色番号周りの仕様はATS-MA3ツールのドキュメントに全部書いてあるよ。
ttp://smaf-yamaha.com/jp/tools/nec/tools.html
とりあえずMSB 0、LSB 32を指定すれば、そのチャンネルは
ノーマルチャンネルからドラムチャンネルに変わります。
これはNの仕様なので、他の機種はまた別の仕様になると思う。
ただ他の機種は1〜8制限とか無いから、10chドラムにして普通に変換しておいてOKだけど。
0500496
NGNGレスありがとうございます!
ほんと助かりました
こんなツールがあったとは。。。
>これはNの仕様なので、他の機種はまた別の仕様になると思う。
>ただ他の機種は1〜8制限とか無いから、10chドラムにして普通に変換しておいてOKだけど。
すると、N用(SO505iも?)とそれ以外の機種でダウンロードを分ける必要があるのか。。。
とにかく助かりました。
0501デフォルトの名無しさん
NGNGイメージを透明色でfillすることはできないが
透過gifでイメージを塗りつぶすことはできる
まぁ、面倒くさいけど一応
レイヤーとして持ってるオフスクリーンイメージを透明扱いにさせることはできる
0502デフォルトの名無しさん
NGNGオフスクリーンで作成したイメージの背景色を
透過扱いにすることができるってことですか?
もし良かったら詳細教えて頂きたいです。
0503デフォルトの名無しさん
NGNGバッチファイルからjavacを起動してiアプリをコンパイルしてます。
コンパイルは正常で起動も出来るのですが、絵文字が文字化けします。
バッチファイルはこんな感じ。
@echo off
set classpath= C:\iDKDoJa3.0\lib\classes.zip;C:\iDKDoJa3.0\lib\doja_classes.zip
set preverify= "c:\iDKDoJa3.0\bin\preverify"
javac -encoding SJIS -g:none -d classes -bootclasspath %classpath% -source 1.3 -target 1.1 src/*.java
%preverify% -classpath %classpath% classes
JAR cMvf pcw.jar -C output .
JAR uMvf pcw.jar -C res .
で、色々調べたり試したりしたところ、
・SJIS_iなるドコモの作った文字コード体系があるらしい。
・「-encoding SJIS_i」でそれを指定できるらしい。
・しかし自分の環境(j2sdk1.4.2_05)ではうまくいかず。
・インターネットで「-J-Xbootclasspath/a:[hogehoge]dojaconv.jarなるオプションを指定するという記述を発見!
(dojaconv.jarのパスは実際のパスを指定しました)
・それでもうまくいかず…(javacのバージョン違い?)
・「C:\iDKDoJa3.0\bin\dojaconv.jar」にそれらしきクラス発見。しかし使い方が分からず…。
あたりまで試して挫折してしまいました。
解決方法ご存知の方いらっしゃいませんでしょうか。
0504デフォルトの名無しさん
NGNGWin2kだと文字化けしないけど、WinXPだと文字化けしたことがあった
同じjar,jamを使ったんで少なくともコンパイラのせいじゃないと思う
-encoding SJIS_i は無くても動いたような希ガス
0505デフォルトの名無しさん
NGNGコンパイラ設定の解決方ではありませんが、
テキストをだけをバイナリリソースファイルとして作成し、
それを起動時にnew Stringすれば”〜”や”−”の文字化けを回避できると思います。
参考まで。
0506デフォルトの名無しさん
NGNG今は、
drawtextで表示→画面ロック→背景を書き直して→1ドット(とか2ドットとか)動かしてdrawtextで表示
→ロック解除(ここで描き直し)→
…を繰り返して動かしてはみてますが、激しくチラチラしてしまい、困っています。
やりたいことは、F900iの方ならわかると思うのですが、標準搭載の「ルーインエクスプローラー」というiアプリの文字枠のように、
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃モナーに12のダメージ ┃
┃モナーは毒に置かされた ┃
┃モナーに20のダメージ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
↓
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃モナーは毒に置かされた ┃
┃モナーに20のダメージ ┃
┃モナーは氏んでしまった! ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
↓
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃モナーに20のダメージ ┃
┃モナーは氏んでしまった! ┃
┃モナーを手に入れた! ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
※わかりにくかったらスミマセン、4行目以降が表示されるとき、ウィンドウの下辺からスクロールするようにスルリと現れ、それと同時に一番古い行(一行目)は、ウィンドウの上辺へスルリとスクロールしながら消えて行く。
…というように、新しい文字列(行)を下から表示させるたびに、ウィンドウ内を上へ上へとスクロールさせたいのです。
何か良い方法がありましたら、教えていただけませんでしょうか?
0507デフォルトの名無しさん
NGNG> 激しくチラチラしてしまい、困っています。
Graphics#lockしろってこと?
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNGキャンバスでつくってるのかなぁ。
もしキャンバスなら描画関係を記述してるであろうpaint()をなにで呼び出してる?
repaint()ならちらつきが多いと思う。(理由はわからないが・・)
paint(getGraphics())で呼び出すと緩和された気がする。
この辺りは詳しくはわからね〜。俺も知りたいw
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG文字列をスクロールさせることとチラチラすることは別問題として切り分けよう。
>>508が言いたかったのは、文字列のスクロールはGraphics#copyAreaを使っては
どうかってことだろう。
メッセージウィンドウを空白で塗りつぶす目的で背景を描き直しているのなら
その処理と、何度もdrawString()する処理が省ける。
(drawtextはdrawStringって言いたかったんだよな?)
もしチラチラが背景上書きに起因するのであればそちらも解決するかも。
解決しなければ描画の仕方自体が原因だろうからそれは別に考えるってことで。
0512デフォルトの名無しさん
NGNG絵文字が文字化けって意味がわからん。
ソースファイル中に絵文字を直接埋め込んでると文字化けするってこと?
だったらUnicode escapeしろ。
絵文字とUnicodeの対応表はドコモのページにあるから。
0513デフォルトの名無しさん
NGNGどのアイディアも他のパクリくさくて辛いっぽ(´・ω・`)
容量増えて公式にも値段は高いが魅力的なコンテンツも増えてきたし…
もう、自分がやりたいゲームを作ってみるぐらいしかできない…
0514デフォルトの名無しさん
NGNG○ソース中に絵文字を直書き
○ソースの外に出す場合もSJISで直書き
これで絵文字が化けたことは無いぞ
0515デフォルトの名無しさん
NGNG>もう、自分がやりたいゲームを作ってみるぐらいしかできない…
貴様!最高の財産隠し持ってながら何言ってやがる!
謝れ!女房子供食わせるために劣化再生産の歯車として働き
疲れて傷つき錆び折れてしまったプログラマンたちに謝れ!!
ていうか、自分が好きなゲームが作れて普通に食えるならいいじゃねーか。
ほかに何を求めると、君は!
0516デフォルトの名無しさん
NGNGSH505isで確認すると、そこで切れてるorz
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG「ゲーム以外のiアプリってあるのかな?」
ってことに違いない
0521デフォルトの名無しさん
NGNGttp://www.nttdocomo.co.jp/p_s/imode/tag/emoji/
これを使えば文字化けなんてしない。
MSゴシックとかの自分使っているフォントに絵文字を外字登録すると、
エミュレータでもちゃんと表示される。
0522デフォルトの名無しさん
NGNGcom.nttdocomo.system.InterruptedOperationExceptionが発生する事があります。
JavaDOC等を調べると
「競合条件などにより、 ユーザインタフェース操作がユーザの意図によらず終了させられた
場合に発生する例外です。」
と書かれているのですが、具体的にどのような時に発生するのかピンとこず
対処に困っております。
どのような状況で発生するか御存知の方いらっしゃいますか?
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNGcom.nttdocomo.opt.ui.Camera
com.nttdocomo.device.Camera
com.nttdocomo.opt.device.Camera2
0525503
NGNG>>504
実機でもPCでも両方で化けます。しかもご指摘どおり、WinXPのみ化けました。
それで、ご指摘頂いて思い出したのですが、Office2003をインストールしたときに
勝手にインストールされるハングル外字のおかげでi-mode絵文字がうまく表示されないことがありました。
この辺ぽいです。
(ですのでウチのマシン、テキストエディタなどでは絵文字表示できるのにOffice系アプリだとハングルになります)
>>512
確かに基本ですよね…。しばらくの間はサボらずそれで頑張ります。ありがとうございます!
>>521
外字は登録してました。どうにも皆さんのご意見によるとレアケースぽいですね。
スレ違いの気もしてきたので、自力でもう少し頑張ります。有難う御座いました。
0526512
NGNGおまいは俺の言ったことが少しは分かったのか?
分かったんなら何がどう「確かに基本」なんだか説明してみろ。
‥といいつつ具体的に教えてやる。
以下のようにすれば、どんな環境でもうまくいくからやってみ。
1. ドコモのページから技術資料をダウンロードする。
2. それを開いて、「iアプリ対応携帯電話の絵文字」に載ってる表を引いて、Unicodeを得る。
例えば「晴れ」マークならばE63Eだ。
3. それをソースコード上では\uE63Eと書く。
String hare = "\uE63E";
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNG確かに初期のエミュは95や98でも動いたと思うが
いまリリースされてるのって2000やXPでないと動かなかったような?
バージョンいくつからだっけかなぁDoJa3.0からだっけか??
作ろうと思えば一応95でも出来るだろうけどさw
0530デフォルトの名無しさん
NGNGもう今は使ってないけど、
Win98SE2でDoja3.5動かして開発してた。
0531デフォルトの名無しさん
NGNG必ずしもDoJaを使う必要はないから。
結局コンパイルしてpreverifyしてjarにまとめればいいだけだから。
0532デフォルトの名無しさん
NGNGなんでそんな無駄なことするんだろうと小一時間
0533デフォルトの名無しさん
NGNGLinuxでもOKだよね。
0534デフォルトの名無しさん
NGNGそんな方法ある?
ImageやGetImageのメソッドじゃ無理っぽいけど。
0535デフォルトの名無しさん
NGNGコンパイルできても動作確認ができないんだよな。
0536デフォルトの名無しさん
NGNGガセネタ
透過GIFをImageに描いたらImageの地の色が出るだけだ
オプションAPIのTransparentImageを使えば出来るが、機種依存だから使い物にならない
0537デフォルトの名無しさん
NGNG外部コントローラーをつけて、アプリを操作させる事って可能ですか?
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNGなるほど、サンクス!
0540デフォルトの名無しさん
NGNGttp://www.au.kddi.com/ezfactory/tec/spec/ezplus.html
パッドを押すと携帯のキーが押されたことになる模様
0541デフォルトの名無しさん
NGNGTAITOが出してた奴。
多分、その種のアイテムは探せば結構あるもんだと思うよ?
0542デフォルトの名無しさん
NGNG今更なんですが、「アプリからアプリの呼び出し」ってどうやるんですか?
0543デフォルトの名無しさん
NGNGIApplication.launch
0544542
NGNG0545542
NGNG移動できません…
ボタンを押したらDicというアプリを起動したいので、
launch(LAUNCH_AS_LAUNCHER,new String[]{"Dic.jar"});
としたんですが、ボタンを押すと
java.lang.NumberFormatException: the entryId is not an integer value
というエラーが出ます。
おそらくIDの書き方が間違っているんだと思いますが、
なにか勘違いしてそうなので助言よろしくお願いします。
0546デフォルトの名無しさん
NGNGを調べるべし
詳しいことは開発ガイドを見てチョ
0547名無しさん
NGNGたしかに。
当方、しかたがないからwmwareでwindows 2000を動かしています。
なぜwindowsをつかなわいか?
サーバ側の開発もあるからです。
普段全然UNIX系のOSを使わないのに(使えないのに)、「UNIXでの開発が
できます」という恐ろしい会社(人)がいますねぇ。
0548デフォルトの名無しさん
NGNGていうか下の二行関係ねえし。
0549デフォルトの名無しさん
NGNG携帯電話にシリアルポートで接続するおもちゃを作ろうと思っています。
外部装置から、携帯電話の内部に電話番号を追加したり、Webにアクセスする
アダプターの類は作れるのですが、せっかくなのでiアプリを利用して画面で
いろいろ操作出来るようにしたいのです。
しかしiアプリの開発ガイドを読んでもシリアルポートの制御に関する説明が見つ
かりません。
Vodaではそれらしい資料が有るようですが、i-modeではAPIは無いのでしょうか?
0550デフォルトの名無しさん
NGNGない。
0551デフォルトの名無しさん
NGNG「を調べるべし」か。
おそるべし、となぜか読み違えて、わくわくした。orz
0552デフォルトの名無しさん
NGNG普段全然Windows系のOSを使わないのに(使えないのに)、
「Windowsでの開発ができます」という恐ろしい会社(人)はおまえか?
0553デフォルトの名無しさん
NGNGIrOBEX で検索しる
0554デフォルトの名無しさん
NGNGPerlとかPHPでのプログラム組むだけなのに「UNIXでの開発ができます」という会社は恐ろしいですね。
0555デフォルトの名無しさん
NGNGだからUNIX系のOSじゃないと、パフォーマンスが悪いということもある。
0556デフォルトの名無しさん
NGNGあと、Linux使ってて「UNIXでの開発」っていう痛いところもたまにあるね。
0557デフォルトの名無しさん
NGNGPHPなら二度手間になるから最初からLinux上でした方がいいんじゃない?
だからといって、アプリの開発までWinで出来ないというのはヘボイが。
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG意味ワカンネ
0561550
NGNGだって無いんだから仕方無いじゃん。
IrOBEXとか言ってる香具師は釣りでしょう。
IrOBEXは赤外線でデータをやりとりするためのもの。
OBEX自体はアプリケーションレイヤのプロトコルなので、下のレイヤは選ばないけど、
とにかくiアプリからOBEXを扱えるのはIrOBEXだけだ。
0562デフォルトの名無しさん
NGNG端末でダウンロードさせるとか方法はないのでしょうか
ケーブル繋いで転送できると楽&金がかからなくて済むのですが
0563デフォルトの名無しさん
NGNGこういうの買うしか無いんでないの?きっとパケ代よりかかると思うけど。
ttp://www.anritsu.co.jp/Products/List.asp?SID=20
0564デフォルトの名無しさん
NGNGあるいは費用として一定額まではクライアントに請求することも考えましょう。
それなりのアプリの細かなテストしてると、最終的にはン万円コースに踏み込むことも
考えられないじゃないし、個人請けとかだったりすると馬鹿にならない。
0565デフォルトの名無しさん
NGNGパケ代気にならないくらいの会社じゃないと無理だろうけど。
ケーブルで接続しても、転送時間長くて楽じゃないかもしれないけど。
0566デフォルトの名無しさん
NGNG実はi-mode端末を持っていないのですよ
ケーブル接続でできれば買ってみようかと思ったのですが
パケット定額の友人に協力してもらいます
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNGJAMに書き込んどいて、呼び出すってことでOK?
0569デフォルトの名無しさん
NGNGNo
0570568
NGNG0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNGDoja3.5使用しています。
待ち受け起動時にsetClockTick(true)を行い、processSystemEvent内で
パラメータのCLOCK_TICK_EVENTを見ているのですが
23時59分までは1分おきにイベント発生するのですが0時0分以降イベントが
発生しなくなるのです。
どうすればよいのでしょう。
0573デフォルトの名無しさん
NGNG外部クラスを含めてビルドするように指定するにはどのようにすればいいのでしょうか?
やりたいことは、ksoap-midp.zipを含めてコンパイルしたいのです。
よろしくお願いいたします。
0574デフォルトの名無しさん
NGNG解凍してほりこむ。
0575デフォルトの名無しさん
NGNG解凍するとたくさん.classファイルがあります。
これをどこに入れればいいのでしょうか?
いろいろ勘で試してみましたが・・・orz
0576デフォルトの名無しさん
NGNGつーかクラスファイルがあるならコンパイルする必要ないよな
0577デフォルトの名無しさん
NGNGDataInputStream,DataOutputStream配下の
readByte(),readBoolean()や
writeByte(),writeBoolean()は
プラットフォーム間の互換性はあるのでしょうか?
何をしたいかというと、簡単なロープレ作ってるのですが、
予想よりデータが膨大になってしまったので、
フラグ列とかイメージマップ用の数値列を
バイナリデータとして外部リソース化しようと思ってます。
ところがこれらデータ、既にもうDoJaのソース内に埋め込まれた状態で
それら変換するだけで膨大な時間が必要になりそうです。
なので出来れば、配列定義の部分をコピペ・ソース流用して
JREのライブラリから吐き出させたいと思ってます。
データ内容はbooleanやらintやらlongやら混在してますが、
書き出す順序と読み出す順序は当然揃えます。
この場合に、例えば、各型のbit長の違いなどで、意図しないデータが
読み出されてしまったり、こういったことはあるのでしょうか?
今回は、Windows上のJREで書いてDoJaで読むことを想定してますが、
うまくいきそうであれば、ServletからのリプライをDoJaで読んだり
色々と試せそうなのですが。
0578デフォルトの名無しさん
NGNG通信相手もJavaなら、J2SE、J2ME問わず互換性あるよ。
readIntなども、ちゃんとネットワークバイトオーダーにしてから送ってくれるし。
便利な世の中になったものだ。
0579デフォルトの名無しさん
NGNGありがとうございます!!!
DOSでCやってましたが、10年以上ブランク空いて
この度Javaで社会復帰しました。
しばらく見ないうちに、便利になっていたのですね。
0580デフォルトの名無しさん
NGNGresに入れれば一応jarには入る。
コンパイルエラーについては
コマンドラインオプションを変更するしかない。
従ってEMUだけで解決させるのは困難。
0581デフォルトの名無しさん
NGNGありがとうございます
エミュレーターでの操作は無理ですね。
コマンド打ってソースの場所を指定してあげないといけないようで、、、
試していませんがこんなのもありました
ttp://www.skyarts.com/japan/products/programing/dojabuilder/ver1.x/faq.html
・外部Classファイルを使用したビルド
などできるようです。
とりあえず、コマンド打ってがんばります。
ありがとうございました。
0582デフォルトの名無しさん
NGNG実機でテストするためにFOMAを購入しようと考えているんですが、
どの機種(900シリーズ)がいいでしょうか?
0583デフォルトの名無しさん
NGNG0584582
NGNGなぜ?
0585デフォルトの名無しさん
NGNG一番評判が悪いからだよ。
0586デフォルトの名無しさん
NGNG現実はそうでもない気がするが。
0587デフォルトの名無しさん
NGNGオススメはDだな。最凶。
0588デフォルトの名無しさん
NGNGあれは都市伝説ですよ。
0589デフォルトの名無しさん
NGNGD505みたいには売れてないから問題なし
>>582
FかNだな。NのかわりにPでもいいが
Dは忘れろ
SHは性能がいいから止めとけ
0590名無し
NGNG0591デフォルトの名無しさん
NGNGN900iとP900iは中身大体一緒で、この2系統だけで5割くらいアクセスあるから
このどっちかにしときゃ間違いなかろ。
携帯電話としては、Nは液晶とかレスポンスとかクソなのでPがお勧めだ。
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGJavaDocのjguidefordoja3_5_apiref_opt_031218.zipしかないのでしょうか?
なんとか、思い通りにポリゴン描画を出来るようになったのですが、
JavaDocだけではかなり説明不足で苦労しました。
0594582
NGNGDかNで検討します!
0595582
NGNG0596デフォルトの名無しさん
NGNGjavadoc はクラス説明一式というだけで、サンプルがあるわけではないよ。
だけど「Micro3D プログラミングfor i アプリ」のPDFファイルは参考になるかも。
ttp://www.mascotcapsule.com/toolkit/docomo/
でダウンロードしてみ。
あとは、ん・ぱか工房なんかで解説してたりするね。
0597593
NGNGありがとうございます。
Micro3Dの方、参考になりました。ただそれを読んで疑問が発生しました。
私の所ではコマンドリスト毎にCOMMAND_PERSPECTIVE1を設定しないと
正常に透視変換をしてくれない現象発生していますが、Micro3Dの
サンプルプログラムでは設定していませんでした。
このような変な現象が起きているのは私だけでしょうか?
---------------------------------------------------------------
int[] com = { COMMAND_LIST_VERSION_1,
COMMAND_SCREEN_CENTER, SCREEN_CW , SCREEN_CH,
COMMAND_PERSPECTIVE1, zNear,zFar,angle,
COMMAND_TEXTURE | 0,
COMMAND_VIEW_TRANS | 0,
COMMAND_END};
int[] com2 = { COMMAND_LIST_VERSION_1,
COMMAND_RENDER_TRIANGLES|TEXTURE_COORD_PER_VERTEX|(1<<16),
0,0,0, 300,0,0, 300,300,0,
0,0, 32,0, 32,32, COMMAND_END};
executeCommandList(com); //描画環境用
executeCommandList(com2);//プリミティブの描画
これだと、正常に描画されない。com2にCOMMAND_PERSPECTIVE1などの描画環境を
入れれば正常に描画されます。
------------------------------------------------------------------
あと、ん・ぱか工房の方ですが普通のプリミティブ描画
(第4話 505iシリーズで動くポリゴンゲームを作る)
の解説はあったものの、executeCommandListの解説
を見つける事ができませんでした。どこにあるのでしょうか?
0598596
NGNGポリゴン系の説明は見た気がしてたんで、混同してたわ。申し訳ないッス。
透視変換については、setPerspective の説明に
>このメソッドを呼び出した後は、レンダリングは全て透視投影で処理されます。
>同様に、setScreenScale(int, int) メソッドおよび setScreenView(int, int) メソッド
>を呼び出した後は、レンダリングは全て平行投影で処理されます。
ってあるんで、setScreenScale か setScreenView に類するコマンドが影響しているかもしれないよ?
0599デフォルトの名無しさん
NGNG誰も使ってないのかと思ってたw
0601デフォルトの名無しさん
NGNGhttp://www.saturn.dti.ne.jp/~npaka/sorami/4/index.html
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGiモードでいうところのPanelクラスってVodafone用では実装されているのでしょうか?
0604デフォルトの名無しさん
NGNGないハズ。
コンポーネントを不可視にすれば、表示されなくなるが
削除とは違うし、元々表示されていた空間は埋まらなかった記憶がある。
一度配置したコンポーネントの再レイアウトは「しない」って仕様みたい。
0605デフォルトの名無しさん
NGNGMediaImageとImageの確保、解放の順番について質問があるのですが、
MediaImage a = MediaManager.getImage( スクラッチパッド );
a.use();
Image b = a.getImage();
ここまでが確保で、解放は
b.dispose();
b = null;
a.unuse();
a.dispose();
a=null;
という順番でよろしいのでしょうか?
0606602
NGNGいくつかの文字列をラベル等を使って出力するパネルがある。
あるときは文字列が10種類あるかもしれない。
ほかのパネルで文字列が消された場合、再表示したときには文字列が5種類になっているかもしれない
最初からコンポーネントの数上限を決めてパネルに配置して表示させるのはスマートじゃない
いちいちPanelクラスをnewなんてしてられないし、何かいい方法はないですかね
0607デフォルトの名無しさん
NGNG>NとPはスクラッチパッドから絵を読むときlengthを付けないとOutOfMemoryになるぞ
亀レスですいませんが、
スクラッチパッドから絵を読むときにlengthをつけるというのは
具体的にどの関数の引数にlengthをつければよいのですか?
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG前スレか前々スレあたりに同じ話が出てるから読み返してくれ。
質問者からのあと少しやりとりが続いて正解の形が出てるから。
0610デフォルトの名無しさん
NGNG>>38-40
良い記事だった。俺もバイブルにしている。
0611デフォルトの名無しさん
NGNGAPI呼び出しのオーバーヘッドって、どんぐらいあるもんだろう?
だいぶ大きいんだったらもう一度試して何とかしたいところだが・・・
0613デフォルトの名無しさん
NGNG画像で代用しようにも、重なったり、配置を換えたりすると
その分の画像も作らないといけないのは辛すぎる
0614デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGhttp://66.102.7.104/search?q=cache:KgJ11TOd0vMJ:pcnikki.exblog.jp/m2004-05-01/+getImage+scratchpad+length&hl=ja&lr=lang_ja
いちいちlengthつけるなんてやってらんね。
しかもこのサイト曰く、場合によってはN505でバグるとか。
しっかりしてくれよP900i/N900i
0617デフォルトの名無しさん
NGNGちょこっと文加えるだけじゃないの。
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNGでも>>440だとNとPはLength付けないとOutOfMemoryが出るってことは
N505は
Length付けないとOutOfMemoryでしくる
Length付けると画像リソースのサイズによってはエラー
どうすりゃいいのorz
0620デフォルトの名無しさん
NGNG440のNとPとは、900のことだよ。
0621デフォルトの名無しさん
NGNGN505でもlengthつけないとOutOfMemory出る事あるよ
0622デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNG「lengthつけないとエラーになる」
って言いたかったんじゃないのかとすごい思う
0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNGN504用特別処理を書いたりするのと同じ感覚でN505用特別処理を書けばいい。
0627名無しさん
NGNG最初に必要な分だけ Image.createImage() でイメージを作っておいて。
こんな感じ
for (i=0; i < xxxx;i++) {
tmpImg = MediaManager.getImage("scratchpad:///0;pos=XXXXX");
tmpImg.use();
Graphics g = picsImg[i].getGraphics(); <-- これが最初に作っておいたもの
Image img = tmpImg.getImage();
g.drawImage(img,0,0);
tmpImg.unuse();
tmpImg.dispose();
}
のようにコピーしてやれば回避できる。
透過色を使うイメージだけしかたがないから、getImage()から作るしかない。
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGそれだとNとPは
>tmpImg.use();
ここでOutOfMemoryが出る事がある
0630デフォルトの名無しさん
NGNG大手は対応するから、ストライキした作者以外だれも困らない。
0631名無しさん
NGNGたった1つのイメージも作れないの?
0632デフォルトの名無しさん
NGNG(余裕あればUserAgent使って直で処理分岐しても…)
落ちるモンは落ちる、クソだがしょうがない。
0633デフォルトの名無しさん
NGNGメモリの状況にもよるが
1個だろうがImageのサイズが小さかろうがOutOfMemoryが出る場合がある。
「場合がある」っていうだけですでにOUT
0634デフォルトの名無しさん
NGNG端末作ったとこを責めろよー。
0635デフォルトの名無しさん
NGNGN900/P900は通信にも不具合あって、その回避方法、友達のソフト会社が発見して
まわしてもらったんだぜ…。
(゚∀゚)さっそく2chのこのスレにもかいたけどさw
0636593
NGNGドラクエ、FFとか非対応です。
0637デフォルトの名無しさん
NGNGD900i?
何言ってるの?それ都市伝説だよ。
0638デフォルトの名無しさん
NGNGUserAgentを拾って処理分岐させる方法だと、
新端末が発売される度に納品しなおしになる可能性があるのでは?
可能であればUserAgent拾うのではなく、問題ありそうな部分をtry{}catchして
catch内に代替処理を書く方が後々楽ですよ。
話題は異なりますが機種依存の端末リソースを制御したいときもUserAgentは使わず
isAvailableのみで完結させる、基本ですね。
0639デフォルトの名無しさん
NGNG>isAvailableのみで完結させる、基本ですね。
詳しく教えてください
0640デフォルトの名無しさん
NGNGほう。
> 新端末が発売される度に納品しなおしになる可能性があるのでは?
どうせ新端末が出るたびに納品しなおすハメになるんだから。
動きがめっちゃくちゃ遅いとか、gcするとサスペンドするとか、どうせ対処できないからね。
納品するものだったら、「xxxとxxxにしか対応しません」っていうのは当たり前だよ。
0641デフォルトの名無しさん
NGNG基本ですね。
0642638
NGNG例えば、振動機能を使うアプリで、オプションで
「振動ON/OFF」みたいな切替機能が必要だとする。
しかし「振動ON/OFF」という設定項目が振動非対応の機種で
表示されたらそれは不自然だ。てな時に、
1.ドコモの資料でAPI実装状況確認して、
2.アプリの機種判定で対応してない機種は表示を外して、
みたいなことすると新機種が出るたびにイタチごっこになるわけだ。
なので、2の処理を
PhoneSystem.isAvailable(PhoneSystem.DEV_VIBRATOR);
で代替すれば良い。これであればわざわざ1を確認する必要もなくなる。
という意味なんだけど、質問の意図とあってますか?
>>640
まあそれは確かにね。
まあ、この辺りのやり取りを通じて漏れが機種ごとの処理が必須になるような
シビアなアプリを作ったことがないことがバレたわけだw
0643デフォルトの名無しさん
NGNGオプション機能の有無みたいな、仕様上正しい動きに関してはそうやるのが当たり前だけど、ここでの話は端末ごとの変な挙動だから。
0644デフォルトの名無しさん
NGNG画像を表示する場合、画像はファイルにしないとダメですか?
HttpConnectionで取得した画像を、そのまま表示したいんですけど、
スクラッチパッドに保存しないと表示できないですか?
0645名無しさん
NGNGMediaManager.getImage(byte[]);
ただし、DoJa 3.0以降
0646デフォルトの名無しさん
NGNGレスどうもです
そんなのあるんだ。今日買ったiアプリの本は古かったのね。
初版 2001って...
0647デフォルトの名無しさん
NGNG古い本でも載ってるはずだが‥
http://www.atmarkit.co.jp/fmobile/rensai/doja04/doja04.html
ファイルなら 例:resource:///image.gif
スクラッチパッドなら 例:scratchpad:///0;pos=0
ダウンロードなら 例:http://hogehoge/image.gif
Generic Connectionマンセー
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG目玉はなによ。
ペリカ取り扱いでつか?
0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNGえ、resource:/// とかの代わりに http:// でもいけるんだ。
クラスのリファレンス主体の本だけど、そんな例が載ってなかった。
Generic Connectionどころか、パス指定方法の説明すら載ってない。例のみ。
どうもありがとう
0652デフォルトの名無しさん
NGNG3D音響機能が不自然なほど充実。
3Dグラフィックも拡張されたが、
まあ使えることと使い物になることは別ってことで。
2Dでは大した拡張は無いが半透明描画が可能。
機種を変えない貧乏人としては
ベンチマーク系の話題でこのスレが盛り上がってくれることを祈る。
0653デフォルトの名無しさん
NGNG以下抜粋。
getColorOfRGB
public static int getColorOfRGB(int r,int g,int b,int a)
RGB 値、ならびにアルファ値を指定して、 対応するカラーを表す整数値を取得します。
このメソッドで取得した値を setColor(int) などで設定することで、
図形の半透明描画が可能となります。
半透明描画をサポートしているのは、以下のメソッドのみです。
fillRect(int, int, int, int)
------------------------------------------------------------------------
一つだけですかwないよりは良いけどさw
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG>>652-654でほぼ変更点は全部らしいな。ノーサプライズだ。
3DグラフィックスはプロプライエタリなAPIじゃなくてOpenGL ESよこせって感じだし、
3Dオーディオは、俺なんか携帯で音を鳴らすこと自体嫌いだからな。
ImageMapが性懲りもなく微妙に進化してるけどどのみちイラネーヨ
0656655
NGNG0657デフォルトの名無しさん
NGNGDoJa-3.5 で、エミュレータと SH900i ならデコードするのに
P900i と N900i は
java.lang.IllegalArgumentException: String is not Base64 encoded
なんて返してきます。
少なくともエミュレータの Base64.decode に与えてる String の
先頭 2 文字、最後 1 文字だけは、
実機も同じものってことは確認してるんですが・・・。
あと、その String の長さも、エミュレータと実機で一致。
ちなみにその String は http 経由でダウンロードしたものです。
リソースではまだやってなかったんで、これから試してみますが、
何か既知な情報とか、あるもんでしょうか?
0658デフォルトの名無しさん
NGNGどうもです!
質問の意図とばっちり合ってます
なるほど勉強なります
0659デフォルトの名無しさん
NGNGJBlendかどうかは知らんが、だいぶ絶望的なことになる模様。
>>657
途中に改行が入ってたりしない?
0660デフォルトの名無しさん
NGNG備後です。
がんがん入ってました。
感謝です。
0661デフォルトの名無しさん
NGNGイマイチだ…いや、イマサンぐらいだ。
ImageMapといい、ドラクエでスクエニから喝でも入ったのかw
結局、900iとの互換重視になりそう。
0662デフォルトの名無しさん
NGNGそれを別クラスに渡して再生したいのですが、
JarInflaterのリファレンスは画像のみなので
それをサウンド用に置き換えて
MediaManager.getSound()で抜き出したり
MediaSoundを返すところでエラー続出・・・。
リファレンス以外のサンプルも見つからず
四苦八苦してます。
どなたかサンプルの載っているところとか
ご存じないでしょうか?
0663デフォルトの名無しさん
NGNG連続スマソ
上記の件は解決しました。
圧縮ファイルに入っている曲は全て鳴ります。
・・・が、なんかテンポが速くなっているような・・・?
圧縮かけるとテンポ速くなる?
あれれ?
0664デフォルトの名無しさん
NGNGMediaManager.getSound(ji.getInputStream("hoge.mld"));
これでダメか?ダメならサウンドファイルが壊れてないか疑ってみろ。
それでもダメならソース晒してくれ。
てかそれ以前に、CLDCのInputStreamについて勉強してみろ。
そこをきちんと理解すれば、イメージだろうがサウンドだろうが
どんなデータでも扱い方が解るぞ。もう少し頑張れ。
0665デフォルトの名無しさん
NGNG動作はするのですが、サウンドの再生がやはり早くなっているので
メディアデータ関連についてもう少し勉強してみます。
0666デフォルトの名無しさん
NGNG自己解決したのならどういう経緯で解決したのかを書いておくれ
そうでないと単なる日記帳に(ry
0667664
NGNG同感だ
>>665
器用にテンポ情報のみ壊れるのは凄いな。
聞くとレアケースぽいので、やはり、665の言うとおり漏れも詳細を聞きたい。
皆キミの情報を待ってるんだ!
0668デフォルトの名無しさん
NGNGよくある入口用アプリ "Hello World" をWebサーバにおいたのですがブラウザ起動しません。
P504iSで「指定されたソフトがありません」
P900iではメッセージは何もでないが aタグista属性で指定したURLが表示される。
エミュ(DoJa3.0)では起動しました。
a0301.jam
LaunchByBrowser = any
LastModified = Fri, 19 Nov 2004 01:44:17
AppClass = a0301
AppName = a0301
PackageURL = a0301.jar
AppSize = 752
起動html
<html>
<head></head>
<body>
<OBJECT declare id="iappli" data="http://x.x.x.x/mobile/appli/i/a0301.jam" type="application/x-jam">
</OBJECT>
<A ista="#iappli" href="dummy.html">a0301の実行</A>
</body>
</html>
jam、jar、html は同じパス(/mobile/appli/i/)に入れました。
サーバ Apache Win32
アップロード FFFTP で無変換
だれか私をレベル0.1くらいにして下さい
0669デフォルトの名無しさん
NGNGアプリ自体は端末にダウンロードしてあるのか?
0670668
NGNGレスどうもです
ダウンロードしてません
一度ダウンロードしないとistaで起動しないってことですか?
0671デフォルトの名無しさん
NGNG「アセンブラに関する内部エラーが発生しました。(Phase = 1)」
となるんですが、
どういう状況でこれが出るのかを知っていたら教えてください。
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNGだいぶ前、SH505でゲームを作っていたら、何もしてないのにどうしても曲が超速く再生されたなぁ…。
実機は信用おけん!
0674671
NGNG0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG> <OBJECT declare id="iappli" data="http://x.x.x.x/mobile/appli/i/a0301.jam" type="application/x-jam">
IP指定だと読み込めないんじゃなかったか?
0677デフォルトの名無しさん
NGNGその通り。なので、istaで失敗したらijamで書かれたページに飛ばすか
両方のリンクを貼るのが一般的。ただし前者の方法だと
サイトからのバージョンアップが出来なくなるからこれは不便かな。
>>676
HttpConnectionクラスで使用できないだけ。i-modeブラウザは大丈夫。
しかしまあ、getSourceURLからHttpConnectionで使用できないホストが
戻ってくるわけだから、そのアプリは実質、使い物にはならないわけだ。
0678デフォルトの名無しさん
NGNGスレ違いな気がものすごくするけど、実際動かしているのがiアプリなので、こちらで質問させてもらうッス。
今、プリミティブ配列で作ったワイヤーフレーム立方体の中に数個のフィギアを描画させるアプリを
作ってるんですよ。で、そのアプリで一つ問題がありまして…。
正面から見ると、フレーム立方体内に収まってくれているフィギアなんですが、カメラ位置をずらすと
一定の地点でワイヤーフレームからはみ出るんですわ。
見る限りでは、ボールの位置に問題はなさそうだし、ワイヤーフレームのサイズも問題なさそう。
あと他に問題になりそうな部分ってあるかなぁ? 知っているヒトいましたら教えて下さい。
0679デフォルトの名無しさん
NGNG0680662
NGNG職場で2chは無理なので対応遅れました。
で、質問時は余計にInputStream()使っていたことが原因です。
修正の結果以下のようになりました。
MediaSound ms=null;
try{
InputStream in = Connector.openInputStream("scratchpad:///0;pos="+jpos+",length="+jsize);
JarInflater ji = new JarInflater(in);
ms = MediaManager.getSound(ji.getInputStream(sound+".mld"));
ms.use();
}catch(IOException e){
System.out.println("ScratchPad getData Err."+e);
}catch(JarFormatException je){
System.out.println("ScratchPad getData Err."+je);
}
return ms;
読み込みの開始位置とサイズは、これがスクラッチパッドを管理するクラスの一部なので
その変数が入るようになってます。
これで今は動作してます。
しかし、テンポ狂いの件は未だ解決してません。
圧縮ツール等で変わってくると思いますので実験してます。
無圧縮にするとテンポ狂いが無い状態になるのですが・・・。
0681デフォルトの名無しさん
NGNG移動機のバグっぽかったら、DoCoMoに問い合わせた
方がいいよ。「市場問題」って扱いで
次モデルで修正されるかもしれず。
0682デフォルトの名無しさん
NGNG各フィギュアの平行移動にMicro3Dがなぜか推奨しているsetScreenCenter()を
使っているという落ちではないですよね?
「正確な意味合いでは別操作・・・」とマニュアルに書いてあるとおりなんで・・・
0683デフォルトの名無しさん
NGNG>圧縮ツール等で変わってくると思いますので実験してます。
おそらく、【Jar】Inflaterって位だから正式に動作保証されてるのは
Sunが吐くjarのフォーマットだろう。
実際には中身はzipだったりとかあると思うが、
7zみたいに無理してるのもあるだろうし、
まずはj2sdk同梱のjar.exeで試してみそ?
コマンドラインから、
jar cMf <圧縮後ファイル名> <圧縮するファイル.....>
だ。
0684668
NGNGそうだったのか。ありがとう。
HOST名指定とダウンロードしてから実行を試してみます。
0685662
NGNG>>683
レスありがとうございます。
JAR圧縮試していますが、FTPにUPするとファイル容量が0に。。。
なのでダウンロード時にエラーでます。
でもアプリ本体のJARはしっかりしてるしで、う〜ん。。。な状態に。
0686デフォルトの名無しさん
NGNGプログラムでグラデーションを生成しようとしてます。必要なのは開始色と終了色の2つだけです。
しかし、getColorOfRGBの実行結果をもとに中間色を指定できれば
パラメーター二つで済むので楽ですが、getColorOfRGB自体、どういうロジックかわかりません。
まともにその都度、getColorOfRGBすると、開始色のRBG要素、終了色のRGB要素で、パラメーターが
6つになってしまいます。これは美しくないと思い…。
ご存知の方いらっしゃいますでしょうか?
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG「必要なのは開始色と終了色の2つだけ」とか言ったって、
数値2つから直接 中間の色が求まるわけではない。
R,G,Bに分解してその成分ごとに中間の色を算出して、
それらをまた合成して、初めて中間色の値が求まる。
つまり見せかけ上、開始色と終了色の2つのパラメータだけを与えれば
済みそうに思えても、実際には6つのパラメータがどうしても必要。
グラデーションの中間の色を求めるメソッドを作って、引数を開始色と
終了色の2つを与える形にしても、そのメソッドの内部で開始色、終了色
ともにR,G,Bへ分解しなければならないわけだから、「パラメータを2つ」
にこだわることは結局無意味。
0690デフォルトの名無しさん
NGNGありがとうございます。なるほど了解しました。
実はグラフィッカーにも同じ質問したのですが、全く同じ回答でした。
doja_classes.zipを逆コンパイルしてgetColorOfRGB調べても何も出てこなかったし。
これは諦めるしかないですね。
実は現行のソースが、
private final int
COLOR_BLACK= Graphics.getColorOfRGB(000, 000, 000),
COLOR_WHITE= Graphics.getColorOfRGB(255, 255, 255),
COLOR_GRAY= Graphics.getColorOfRGB(128, 128, 128),
COLOR_RED= Graphics.getColorOfRGB(255, 0, 0),
COLOR_BLUE= Graphics.getColorOfRGB( 0, 0, 255)
;
みたいに、色関係はクラス宣言で生成してるので、
今回はその構造を変えたくなかった無精でございます。(反省)
みなさんありがとうございました。
0691デフォルトの名無しさん
NGNG高速最適化に参考になる本やサイトないですかね
0692デフォルトの名無しさん
NGNGこのスレw
0693デフォルトの名無しさん
NGNGイメージ描画をとにかく限界まで抑える。
ブロック崩しだったら玉付近以外の描画は邪魔。
スロットだったら筐体の全体描画は邪魔。
全画面のメニューだったら、カーソル付近以外の描画は邪魔。
0694デフォルトの名無しさん
NGNGそういや、差分描画してるアプリの場合
レジューム時の画面再描画はどこまで保証されてるの?
0695デフォルトの名無しさん
NGNGサスペンド前に描画されてた部分のままと思うけど。
塗りつぶされるとかいうことはなかった。
(MIDPではこの辺アクが強かった気がするけど…)
0697662
NGNGFTPのUP時にJARファイルがおかしくなるのは
サーバー側による様です。
別の場所にUPしたら大丈夫でした。
・・・が、UPできたけど未だサウンド早い。。。
テンポの値ってプログラム上から制御できないものでしょうか?
ご存知の方お願いいたします。
0698デフォルトの名無しさん
NGNGテンポの設定・・・ないはず。
Basicみたいに
PLAY "T3CDEFGAB"
じゃ通用しないしw
0699デフォルトの名無しさん
NGNGいつまでも直らねえとかスレ違いの事言ってないで、発生してる端末名くらいかけよ
で、俺の予想としてはMLD内のマーカー位置とテンポの場所がバグってて、
再生する順番や読み込む順番で正常動作しないとか、そんなオチだろ
0700デフォルトの名無しさん
NGNGなんか、単にいろんなことを理解できてないだけかと
0701デフォルトの名無しさん
NGNGImageStore imgst;
MediaImage m;
Image img;
imgst = ImageStore.selectEntry();
m = imgst.getImage();
m.use();
img = m.getImage();
として携帯内の画像を読み込んでいるのですが、
drawImage(img,0,0);
drawRect(0,0,img.getWidth(),img.getHeight());
として画像の周りに腺で枠を表示させようとしているのですが、
N505iで試してみたら、
----------
|画像画像|
|画像画像|
| |
----------
となり、下の方に隙間ができてしまいます。
Dojaでは隙間が出ずに表示されました。
この原因ご存知の方いたら教えてください。
0702デフォルトの名無しさん
NGNG0703デフォルトの名無しさん
NGNG0704701
NGNG>>703確かに使い方間違えてました。指摘どうもです。
resフォルダに入れた画像、ネットからスクラッチパッド
に保存した画像でどうなるかも試したのですが、
それでは隙間ができずに表示されました。
ImageStore.selectEntry()で取得した画像は
getWidth,getHeightで正しく値が入らないとかあるのでしょうか…?
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNG携帯内にある取り込もうとしてる画像の縦横の値と、
drawRectするときの縦横の値を比較して、それがどうなってるかが問題でしょ。
0707701
NGNG携帯内にある画像の縦横の値は確認とりましたが値は同じでした。
resフォルダのものでも値は同じでしたが、それは正常に表示されました。
0708デフォルトの名無しさん
NGNGマイピクチャにある画像の縦横サイズと、
resフォルダにある同じ画像の縦横サイズと、
drawRectの引数の縦横サイズ、の3つが全部同じ値であることが確認できたんだよね。
それでマイピクチャにある画像のときに隙間が空くって、画像が縮んで表示されるのか?
なんだか701の手元で何が起こってるのかよく分からないけど
画像(jpegかな?)の後ろに何かしらのゴミデータが
くっついてるんじゃないかと予想するがどうか。
0709デフォルトの名無しさん
NGNG>携帯内にある画像の縦横の値は確認とりましたが値は同じでした。
同じなのに隙間が出るって事は、画像が縮んでるか途中で切れてるかだな
0710デフォルトの名無しさん
NGNGつか
エミュレータの画面をキャプってドットを数えてみろ。
実際にキャプった画像の大きさがもしも変わっていればそこがおかしいし、
画像の大きさが変わってないのに隙間が生じるなら
枠の幅と高さが画像と一致してない。
0711710
NGNGdrawRect(0,0,10,10);とかやった時に
何ドットの矩形が描かれるのかを勉強しなさい
0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNGあまり良い噂聞かないけど、
itMediaの記事だと良い線行ってるよね。
0714デフォルトの名無しさん
NGNGもしかして唐突って言いたい?
0715デフォルトの名無しさん
NGNG2ch語にいちいち突っ込むな。
0716デフォルトの名無しさん
NGNGDoJa4.0の新機能なども使っているアプリを
DoJa3.0で実行させることは可能でしょうか?
色々試したのですが、
1.新機能自体は使われているが新機能の箇所に実行が到達しない。
→実行OK
2.新機能の箇所に実行が到達する。
→αエラー(トレース情報も出力なし)
3.try{}catch()
→Throwableでも拾えないので根本的に拾えない?
プロファイルバージョンが拾えればそこで条件分岐させるのですが…
0717デフォルトの名無しさん
NGNGClassNotFoundExceptionをcatchすれ。
0718デフォルトの名無しさん
NGNG右キーを1回押したら右に1マス移動、素早く2回押したら右端まで移動、
というような処理をさせたい場合、
キー判定はどうすれば、いいのでしょうか?
わかる方いましたら、ご教授ください。
0719デフォルトの名無しさん
NGNGそれやると、根本的にDLさせてくれない機種があったような。
あれ?DojaじゃなくってMIDPだっけ?
0720デフォルトの名無しさん
NGNG最悪の操作系だと思うがどうか。
0721デフォルトの名無しさん
NGNG2秒間くらいまでのキー操作ログを保存しておくようにする。
そして、右キーを押したとき「ここ最近にも右キーが押されてなかったか」を調べるのだ。
0722デフォルトの名無しさん
NGNGSystem.getProperty()は試したのか?
0723デフォルトの名無しさん
NGNGブロックを2マス動かそうと思ったらいきなり端に! うわーどうしよう。
0724デフォルトの名無しさん
NGNGことにしてみては。
0725デフォルトの名無しさん
NGNG・・・初押しからのタメが邪魔か。
0726718
NGNGたしかに、この操作方法だと最悪です。
で、721さんのレスを参考に、下記を作りました。
絶対1回は右に移動してしまいますが・・・。
レスくださった皆さん、どうもありがとうございました。
boolean b_left=false; ShortTimer st;
public void processEvent(int type,int param) {
if (type==Display.TIMER_EXPIRED_EVENT && param==0) {
if(st!=null){st.dispose();}
b_left=false;
//右キーを押しっぱなしにしていたら
if((getKeypadState() & (1<<Display.KEY_RIGHT))!=0) {
右に1マス移動をスレッドで繰り返し;
}
}
if (type == Display.KEY_PRESSED_EVENT && param == Display.KEY_RIGHT) {
if(b_left){
b_left=false;
右に1マス移動をスレッドで繰り返し;
} else {
if(st!=null){st.dispose();}
st=ShortTimer.getShortTimer(this,0,400,false);
st.start();
b_left=true;
右に1マス移動;
}
}
}
0727716
NGNGメソッドはないけどクラスはあったから無理でした。
具体的には、getColorOfRBG(int, int, int, int);です。
GraphicsはDoJa1.0からあるし。
>>719
ダウンロードできました。
確かその仕様は、J-PHONEでしたっけ?
>>722
今回は素直にそれにします。
901iの次の機種名が解らないので躊躇してましたw
機種名じゃなくてプロファイルバージョン拾えれば万事解決なのに。
0728デフォルトの名無しさん
NGNG今後はADFのProfileVerキーをちゃんと書いてリリースしような
0729名無しさん
NGNGF900iは描画は遅い。
ITmediaのベンチマークは描画部分は信用できない。
どうもrepaint()呼び出しただけで、描画が終了するのを待っていない
気がする。
0730728
NGNGその端末が最高どのバージョンのプロファイルまで対応してるかってのが取得できるわけ
じゃないもんな。
0731デフォルトの名無しさん
NGNG裏面描画をしないようにする方法が分かりません。
http://timekiller.info/javadoc/3.0optapi/com/nttdocomo/opt/ui/j3d/Graphics3D.html
のsetScreenScaleの説明に「片面ポリゴンは法線」とあるのでプリミティブで
片面ポリゴン、両面ポリゴンの指定する事が出来ると思うのですが分かりませんでした。
0732デフォルトの名無しさん
NGNG記述通りによむなら各頂点かプリミティブ単位で法線情報持たせ、
NORMAL_PER_FACE あたりを設定するように見えるが。
D3Dみたいに頂点の順番とON/OFFスイッチでは切りかえれないように見えるが、それはあってる?
0733522
NGNGtakeMovieの競合なのですが
その後、色々試して見たのですが
どうも、takeMovieよりも先にgetAvailablePictureSizesを行うと
発生してしまうようなのです。
また、アプリ起動後にしばらく放置しておくと
takeMovieでの競合が発生しないようです。
放置しておくことでgetAvailablePictureSizesで使用したカメラデバイスの
解放が行われるのでしょうか?
明示的にデバイスの解放を行う方法があったら教えてください。
ちなみにF900iやiアプリエミュレータでは競合は発生せず
P900iでおきています。
>>524
com.nttdocomo.device.Camera を使用しています。
0734デフォルトの名無しさん
NGNGPでgetAvailablePictureSizesできるのは
静止画のときだけだった希ガス。
0735734
NGNGいい加減なことを言ってしまった。スルーしてちょ。
0736731
NGNGNORMAL_PER_FACEを指定してみたが片面ポリゴンにならなかった。
エミュ、P900で確認しました。
頂点の順番(時計回り)なども関係なく両面ポリゴンになってしまう。 orz
裏面消去するだけで、処理速度だけでなくポリゴン割れなどもかなり
改善できるのにな〜。
自前で裏面かどうか調べてプリミティブ登録しなおすのは
処理速度的にツライし困ったな。。。
0737デフォルトの名無しさん
NGNGアクション、シューティングなど、getKeyPadStateが前提となる作りのゲームは
どうすればSOのジョグに対応できるのですか?
processEventでフラグ管理も考えましたが、今度は、SO以外のチョイ押しで
SO処理並にたくさん動かれても困るので…。
0738デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNG0742522
NGNGスルーという事なんですが一応。
getAvailablePictureSizesは別の処理で静止画撮影もするので
サイズ取得の初期処理で使ってます。
動画のサイズ取得はgetAvailableMovieSizesというのがあるので
それで別個に取得しています。
0743522
NGNGずっとsage忘れていました・・・
0744デフォルトの名無しさん
NGNG数字キーのみでSO専用操作は一切作ってない。
元から数字キー目一杯使うアプリなら南無としか。
0745デフォルトの名無しさん
NGNGすっごい遅レスだが、レジューム時の描画されたものの保障は機種依存。
今ではほとんど対象にはならないだろうが503系は崩れた画像になる機種が多い。
描画が保障されていない証拠にエミュでレジュームを起こしてみるとわかる。保持されない。
が、504以降で描画を保持してないものはなかったと思う。
アプリ容量があるならレジュームが発生した場合は全部描画しなおせるよう組み上げるのが良い。
ミニマムスペックでない以上今後保持しない機種が出ないとも限らんない。(無いとは思うがw)
レジュームが発生した1フレームを全描画しなおそうが処理速度の低下を感じることはないしな。
0746デフォルトの名無しさん
NGNGスーパーインターフェースに持ってるので
openDataInputStreamをサポートしてますよね。
そのHttpConnection.openDataInputStream()のインスタンスからの
available()ですが、CLDC仕様書には
「ブロックせずに入力ストリームから読み込むことができるバイト数を返します。 」
と書いてあります。が、SO505iでは、常に0が帰ってきてる気がします。
これって端末バグかなあ?
Content-length返さない糞鯖でコンテンツ長が欲しいのに。
0747デフォルトの名無しさん
NGNGスムーズなホワイトアウト処理ってどうやってやってるんだろ?
ImageとGraphicsのメソッドだけじゃできないよね?
0748デフォルトの名無しさん
NGNGHTTP通信をアプリでおこなった後、closeを行っても
iモード待機状態(iのアイコンが点滅している状態)が解除されないのですが
これをアプリ側で解除する方法はないでしょうか?
0749デフォルトの名無しさん
NGNGポリゴンを重ねてるんじゃないのかな?
0750デフォルトの名無しさん
NGNG無理。
「通信してるんじゃないですか?」「パケット代かかるんじゃないですか?」とか
ユーザーサポートに死ぬほど問い合わせが来るんだろ?気持ち解るよ。
0751デフォルトの名無しさん
NGNGavailable()は使ったこと無いんだけど、SO505はskipBytes()が正しく動作しないので何かあるかも。
ちなみに単にread()で0がくるまで読み込むってのはダメなんですか?
Content-lengthはサーバーサイドに返すようにお願いしてもらうのも1つの手かと。
0752746
NGNG確かに怪しいですね。諦めるのが吉に思えてきました。
>ちなみに単にread()で0がくるまで読み込むってのはダメなんですか?
神経質になりすぎなのかもしれないのですが、20480バイトとかフルに読むと、
DやNであからさまに動作速度が異なるんですよ。
20480×5のファイルを取得する初回起動で1.5倍ほどの時間差がありました。
(しかしメソッドだけは汎用的に作っておきたいのでバッファ長を定数で記述するのは嫌なのです。)
>Content-lengthはサーバーサイドに返すようにお願いしてもらうのも1つの手かと。
ウチ、孫受けなんですよ。大人の事情ですねw
0753747
NGNGGraphics3DとPrimitiveArrayを使ってやってみようと
調べてみたけどハーフブレンド(50%透過)しか指定できないですね…。
ワカンネ(;´А`)
0754デフォルトの名無しさん
NGNGちょっと白いPrimitiveArray数枚を加算で加えれば
出来るのでは?
徐々に重ねる(表示する)枚数を増やせば
ホワイトアウトの出来上がり。
0755747
NGNGその「ちょっと白い」の実現方法が見つからないんですよね。
で、さらに調べてたらどうもGraphics2#setRenderMode()を使って
ラスタオペレーションが出来ることがわかりました。
ちょっとこれで実験してみます。
ついでにわかったこと。
拡張API実装状況のPDFを眺めてたら、900iの実機のうち、
Graphics2#setRenderMode()に非対応なのはD900iだけでした。
ドラクエがD900iに非対応なのはコレのせいですかね。。。
0756デフォルトの名無しさん
NGNGちょっと白いってのは要するに RGBが同値
例えば R:32, G:32, B:32 とか。
これを8枚加算合成(ADDBLENDだっけ?)すれば
真っ白になったと思ったが。
0757デフォルトの名無しさん
NGNGもっと調べると2Dの半透明は機種依存が激しすぎで使い物にならない事がわかるよw
他の人が言ってるようにポリゴンを加算モードで描画すれば出来る
レッドアウトとかは無理だけど、白(加算)か黒(減算)なら簡単
ドラクエがD非対応なのは、こいつだけヒープが極端に少ないからだろう
0758デフォルトの名無しさん
NGNG使って無くてもヒープ少なすぎてD900ではできないだろうけどw
あの処理の早さを見る限り、ポリゴンの複数重ねがけはやってないと思われる。
うちもそれ試したんだけど、遅くて使い物にならなかったから、間違いない(苦笑
0759デフォルトの名無しさん
NGNG非公式メソッドのIApplication#isDraqueメソッドをオーバーライドしてtrueを返すようにすると速くなります。
0760デフォルトの名無しさん
NGNGtextbox=new TextBox("",5,1,TextBox.ALPHA);
とした場合、実機でためしたところ、入力が全角かなで、表示は***
となりました。
どーしたらうまくいくのでしょうか?
0761デフォルトの名無しさん
NGNGポリゴンは一枚でいい
色を変えるんだよ
>>760
よく見ろ
初期入力モードの設定はここじゃ無い
>TextBox(String text, int columns, int rows, int mode)
> 初期文字列と桁数、行数、表示モードを指定してテキストボックスを生成します。
0762デフォルトの名無しさん
NGNGえ?なにそれマジデ?(;´Д`)
ttp://www.interq.or.jp/pink/ribbon/doja-api/3_5/default/com/nttdocomo/ui/IApplication.html
存在しないんだけど、非公式だから?
ぐあー試したいのに開発環境がNEEEEE!!!!
誰か代わりにたのむ、まじで。(もしくは1日ほど待って)
0763デフォルトの名無しさん
NGNGありえねぇw
ネタでしょ
0764デフォルトの名無しさん
NGNG0765760
NGNGでけた! ありが�d
0766デフォルトの名無しさん
NGNGんぱか工房に載ってるのだとJAVAヒープがFより1000KB少ないだけじゃん。
1500KBも以上JAVAヒープ使うことって普通ある?
0767デフォルトの名無しさん
NGNG他のサイトを読んだ解釈でしかないが以下のような事で説明できると思う。
DのJAVAヒープが足らなくなる原因は大きく分けて2つ
1:もともと少ない。
2:画像1ドットあたりで消費するJAVAヒープの量が他の機種より多い。
(他の機種では1ドットあたり2〜3バイト程度消費、Dは1ドットあたり4バイト程度消費するらしい)
とくに最近の機種は画像増加の傾向があるので2の差は凄いことになると思う。
0768デフォルトの名無しさん
NGNGメモリの無駄っぽい。
0769デフォルトの名無しさん
NGNG多分32bitだと思う。
ところでD900iのシェアってどのくらい?
不具合も多いし、遅いし、Graphics2も使えない。
900専用ゲームでは切りたいんだけど、具体的シェアがわからないと説得しづらい。
0770デフォルトの名無しさん
NGNGN900i系 39%
P900i系 29%
SH900i系 18%
F900i系 10%
D900i系 3%
結論:放置プレイ可
0771デフォルトの名無しさん
NGNG昔の知識ですまないんだが、DってJavaヒープで画像扱ってたか?
F以外は皆、Imageの実態はCヒープで管理していた気がするんだが、最近は皆Java
ヒープを使うようになった?
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNGやってみたら、なんか、あぶない水着っていうのがでてきました。
0774デフォルトの名無しさん
NGNGavailable()が正しく実装されていても、Content-Lengthの代わりにはならないと思うのだが。
0775766
NGNGttp://www.saturn.dti.ne.jp/~npaka/ibook2/izon.html
↑の説明だとD504iはJavaヒープ使ってるみたいだけど、D900iがどうなのかはさっぱり。
実際に実機で試してみないとよく分からんです。
ネイティブヒープに画像乗っけないとJavaヒープより大きい意味がないような気もするんだけど。
0776デフォルトの名無しさん
NGNGデータの先頭4バイトにデータ長を入れておけばよいのでは
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGお前、それisDraque�Vじゃんか。
�Uよりも早いけどデータ消える事あるから注意な
0779デフォルトの名無しさん
NGNGjavadocのInterruptExceptionを読むと
あるスレッドが長い間の待ち状態、休止状態、または一時停止の状態であるとき、
他のスレッドが Thread クラスの interrupt メソッドを使って
この状態に割り込みをかけた場合にスローされます。
と書いてあるのに、Thread読んでもinterruptがない??
0780デフォルトの名無しさん
NGNGCLDC1.0がJ2SEのサブセットであることによる呪縛。
interrupt()は削ったけど、sleep() throws InterruptedExceptionは残したので
InterruptedExceptinoは消せないのよ。
ちなみに、CLDC1.1だと、interrupt()が復活したから、InterruptedExceptionも使えます。
0781デフォルトの名無しさん
NGNGほうほう
仕様書のマイナーチェンジとバグフィックスの所に書いてあるね
■ Boolean.TRUE and Boolean.FALSE
■ Date.toString()
■ Random.nextInt(int n)
■ String.intern()
■ String.equalsIgnoreCase()
■ Thread.interrupt()
まあ901専用アプリは作らないから関係ないけど
0782デフォルトの名無しさん
NGNG要するに割り込みは無理ってこと?
0783デフォルトの名無しさん
NGNGどういうことやりたいかによるけど、waitとnotify(やnotifyAll)使っても無理そうなことなの?
0784デフォルトの名無しさん
NGNGあ、interrupt()した時にInterruptExceptionが発生するのは、sleepとかwaitとかしてる時に
interruptされた時だけだからね。
それ以外はisInterruptか何かがtrueになるだけ。
そっちはbooleanでインスタンス変数1つ持っておけば簡単に実装できるし。
0785779
NGNG描画して、sleepして、を繰り返してるスレッド(してることはスタッフロールの表示)を
外部からの割り込み(この場合はユーザーからのキー入力)で
強制終了させたいんですよ。
while(loopflag){ /*描画*/ }
みたいな実装なら外部からloopflagいじるだけなのですが、
諸般の事情でそうもいかないという。
0786デフォルトの名無しさん
NGNGN900i系、P900i系、N505i系で動かないときは、
320×320を超えるイメージを使っていないか疑いましょう。
0787デフォルトの名無しさん
NGNG特殊な状況っぽいので、もっと詳細がないと期待された答えが返ってこないと思う。
0788デフォルトの名無しさん
NGNGフラグはprocessEventで変化させればいい
0789デフォルトの名無しさん
NGNGinterrupt()があってもやっぱり足らない罠。
0790デフォルトの名無しさん
NGNGどうなのでしょうか?
0791デフォルトの名無しさん
NGNGんなこたーない。
端末側の設定でバイブレータOFFにしてあるだけじゃないの?
0792783
NGNGうーん、諸般の事情がわからないと何とも言えないが、
どうしてもsleep()中にユーザーのキー操作で起こしたいの?
それやるんならタイムアウト付きのwaitとnotifyでもできるんじゃない?
タイムアウト付きのwaitってCLDCにもあったよね?(今手元にAPIリファレンスがない…)
0793779
NGNG亀レスすみません。Thread#interrupt()がなくて困っていた件です。
>>788
確かに定石ですね。ありがとうございます。
ただ今回採用できなかったのは、強制終了させたいスレッドから
自作メソッド(こちらもthrows InterruptException)をかなりコールしてて、
それらメソッドは他のアプリでもそのまま流用するので、
極力、外部変数を参照させたくなかったのです。
つまりクラス内変数以外で外部との通信手段が必要な箇所がある、ということです。
>>789
確かに。なので、仮にinterrupt()あったとしたら、
終了確認するまでinterrupt()を無限ループさせる感じの実装ですね。
それで皆さんにご助言頂いたあと色々と試行錯誤してみたのですが、
メソッドの引数で配列を渡せばCのポインタみたく使えることを知ったので、
ユーティリティメソッドにはフラグのポインタを渡して、
強制終了の指示はそちらからやってみよう、という結論に達したのですが
この考え方はで何か弊害など出る可能性はあるのでしょうか??
0794デフォルトの名無しさん
NGNG>つまりクラス内変数以外で外部との通信手段が必要な箇所がある、ということです。
直接代入するとか
a.val = 0;
アクセサメソッドを作るとか
a.setVal(0);
0795デフォルトの名無しさん
NGNG「足りないクラスがあります(phase=2)」
と表示されたんですが、コンパイル&実行でエラー無いのになんで?
0796デフォルトの名無しさん
NGNG環境も、Versionも、パスも設定も書かずに分かるか。俺らはお前か?
0797デフォルトの名無しさん
NGNG・JavaBlenderのバグ
・ソースがDoJa4.0用
0798デフォルトの名無しさん
NGNGN506 で以下の処理を実行したら、3行目でエラーがでて困ってます。
Fig[0] = new Figure(Connector.openDataInputStream("resource:///0.mbac"));
Fig[1] = new Figure(Connector.openDataInputStream("resource:///1.mbac"));
Fig[2] = new Figure(Connector.openDataInputStream("resource:///0.mbac"));
Tex[0] = new Texture(Connector.openDataInputStream("resource:///TX0.bmp"), false );
Tex[1] = new Texture(Connector.openDataInputStream("resource:///TX1.bmp"), false );
Tex[2] = new Texture(Connector.openDataInputStream("resource:///TX2.bmp"), false );
Tex[3] = new Texture(Connector.openDataInputStream("resource:///TX3.bmp"), false );
やりたい事は、テクスチャが違う Figure を使いたいだけなんだけど、SH505 ではきちんと動くんだが、
N506 では「too many resource connections」とかいうエラーが出てしまう。
そして、3行目をコメントアウトするとエラーは出ないんですよ。
もしかしてNシリーズは、リソース使い回しできない?(もしくは別の回避方法があるのかな?)
0799デフォルトの名無しさん
NGNGこういう場合勝手に閉じてくれるのか?
0800デフォルトの名無しさん
NGNG0801798
NGNGおおっ! とんでもなく初歩的な事を忘れていた。
エミュや SH505 では問題なかったんで、全然考えてなかったよ。
とすると、開いた Stream は手動で閉じなきゃイカンから、openDataInputStream
を間接で指定して、使い終わったら close() を実行しなきゃいけない訳ね。
スゴク助かったよ、ありがとう〜。
0802デフォルトの名無しさん
NGNGこちらも同じく、バイブレータが作動しません。
ただ、作動しないのはN900だけですけど。
0803デフォルトの名無しさん
NGNG>>791を見よ
0804デフォルトの名無しさん
NGNGFOMAはマナーモードの設定がPDCより複雑になっているので設定を確かめるべし。
わからなければ端末設定全リセットだ。
オレは幾度と無く振動しねえとバグ扱いされたぜ。(くそ)
0805802
NGNG>>804
携帯側の設定を変えると、他のサイトでDLしたアプリは
振動するらしいんですけど、問題のアプリは振動しないです。
他の機種では問題なく振動しているのですが・・・
Nだけ何か特別な設定が・・・?
0806デフォルトの名無しさん
NGNGNだと、バイブの動きが
「通常iアプリ」と「待受iアプリ」で
違った希ガス。
0807802
NGNG問題のアプリは「通常iアプリ」
他の問題なく振動しているのも「通常iアプリ」なんです・・・
朝からずっと情報を集めているんですけど、
他に同じ症状の人が見当たらないんです。
これは、こちらのソースが悪いんでしょうか・・・?
0808デフォルトの名無しさん
NGNG原因はプログラム側だろうね。
ためしに違う部分で振動させてみたら?
例えばゲームであればタイトルで1キー押したら
振動させるとかのデバッグモード作ってみるとか。
面倒だったらタイトル入ったら振動でも良いし。
0809802
NGNG違う箇所でも振動しないです・・・。
もとはDoJa3.0で作ってて505で動かしてたんですけど、
そのときはほとんどの機種で動いたのに・・・。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGアドレス帳をいじれなくするため。
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNGちゃんと説明しろ
0817デフォルトの名無しさん
NGNG画面それぞれでソフトキーの動作を変えることって可能でしょうか?
0818デフォルトの名無しさん
NGNGこまめにSystem.gc();汁
>>817
メインの画面とソフトキーは独立してる
自前で処理汁
0819817
NGNG意外とサンプルないから無理かなーとおもったら
ttp://omori.info/java/に普通にありました。
ありがとうございました。
0820817
NGNGx1.setSoftKeyListener(this);
x2.setSoftLabel(x2.SOFT_KEY_2,"次へ");
x2.setSoftKeyListener(this);
public void softKeyPressed(int softKey){}
public void softKeyReleased( int softKey){
if( softKey == p0.SOFT_KEY_2){
Display.setCurrent(x1);
}
if( softKey == p1.SOFT_KEY_2){
Display.setCurrent(x2);
}
}
これだと連続して切り替わっちゃう…
なぜ〜?
0821817
NGNG↓訂正
x1.setSoftLabel(x1.SOFT_KEY_2,"次へ");
x1.setSoftKeyListener(this);
x2.setSoftLabel(x2.SOFT_KEY_2,"次へ");
x2.setSoftKeyListener(this);
public void softKeyPressed(int softKey){}
public void softKeyReleased( int softKey){
if( softKey == x1.SOFT_KEY_2){
Display.setCurrent(x2);
}
if( softKey == x2.SOFT_KEY_2){
Display.setCurrent(x3);
}
}
0822デフォルトの名無しさん
NGNGGCに夢を持ちすぎ。
0823デフォルトの名無しさん
NGNGif( softKey == Frame.SOFT_KEY_2){
if(Display.getCurrent() == x1){
Display.setCurrent(x2);
}else if(Display.getCurrent() == x2){
Display.setCurrent(x3);
}
}
}
こうかなぁ‥試してないけど
x1.SOFT_KEY_2とx2.SOFT_KEY_2は定数(1)だよ
softKey == 1 って書くのと同じ
あと>>818の言ってることが良くわからんが、
setSoftLabelの説明見る限りでは各Frameに属するっぽいぞ
>設定したラベル文字列は、このフレームがカレントフレームになったときに、
>ソフトキーのラベル文字列を表示する位置に自動的に設定されます。
0825デフォルトの名無しさん
NGNGしかし我々にはその手段しかないのだ。
精一杯それをやるしかあるまい。
0826デフォルトの名無しさん
NGNGそれもそうだね。
0827デフォルトの名無しさん
NGNG造ることですな。
元々ゲームみたいに、リアルタイム性重視のソフトにJava
使うのはおかしいんだけど。
0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNGそもそもGCってのはそういうものじゃないはずなのだが...。
0830デフォルトの名無しさん
NGNG伝説のように「安定させておきたいなら呼んでおけ」っていうのを聞いたことはある。
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNGリアルタイム性の高いゲームなんかじゃ必須
0833デフォルトの名無しさん
NGNGメモリがどうしようもないくらい圧迫されてからガッと一気に解放するような実装なら
頻繁にSystem.gc()を呼ぶのは有効。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNGものすごく
0836デフォルトの名無しさん
NGNG速度計測アプリつくって是非ここで結果をアップしてくれ。
0837デフォルトの名無しさん
NGNG一年に一度しかデフラグしないHDDと一週間に一度デフラグしてるHDD、
一度あたりのデフラグ時間はどちらが短いか、ファイルの破損確率は
どちらが高いか、そういう話です。
>>833
漏れの場合、そもそもgc不要なアプリを「目指して」作ってる。
String型の操作は一切行わず、クラス内変数の宣言以外ではnewは使わない、
文字列を操作したいときも、あくまで静的に確保されたバッファの中でやる。
この辺り守るだけで、SPへのアクセスや通信時以外は
メモリの新規確保はなしでアプリは走るよ。
0838デフォルトの名無しさん
NGNG> 一年に一度しかデフラグしないHDDと一週間に一度デフラグしてるHDD、
> 一度あたりのデフラグ時間はどちらが短いか、ファイルの破損確率は
> どちらが高いか、そういう話です。
つまり、System.gc()についてよくわかってないってことですね?
0839デフォルトの名無しさん
NGNGヒープなんかガンガン使われてると思うんだが。
0840デフォルトの名無しさん
NGNG> この辺り守るだけで、SPへのアクセスや通信時以外は
> メモリの新規確保はなしでアプリは走るよ。
現実問題として、そこまでしなきゃならん端末あるのか?
具体的な機種名分かるなら教えてくれ。
N504iがSystem.gc()を頻繁に呼ぶだけで解決するのは知ってるが。
0841デフォルトの名無しさん
NGNGいるのですが、一部の機種で画像のDL時にConnectionExceptionが出て困っております。
同じプログラムでありながら、Doja,F2102V,N505iS,SH900i,SO505i,F900iCでは問題なく画像をダウンロードします。
ですが、P2102V,N2102Vでは画像DL時に上記のエラーが出て落ちてしまいます。
もしかして原因がわかるかも?と思い、ConnectionExceptionの時ダイアログを出るようにして、試しにP2102Vを通常
起動させてみるとダイアログが表示されたのですが、その時そのままダイアログを出しっぱなしにしておくと裏で画像を
なぜかDLしていました。
iアプリ作成初心者なので、全然原因がわからず困っております。
お知恵を貸していただけないでしょうか?よろしくお願いします。
0842デフォルトの名無しさん
NGNGBrew移植とかを考えると都合が良いし
あとは高速性を求められるアプリでもよくやる
0843デフォルトの名無しさん
NGNGいわゆるふんづまり現象は、ゲームだけでなく、サーバアプリケーションのレスポンスや
GUIアプリのユーザビリティなんかにも支障ができるから、
インクリメンタルGCとか、メモリコンパクションをせいぜい1回数msまでにおさえたりとか
ちゃんと計算してる。角度とか。
ついでにJ2SEの話だが、Java 1.0や1.1あたりの頃はそうやってメモリ確保を避けたコードでも
なぜか頻繁にふんづまり現象を起こしまくってた。
結局、VMやAPIのネイティブ部の実装次第でどんなコードを書こうが問題は起こるし、
どんなコードを書こうが問題は起こらない。
携帯によりまともなVMが載るに従って、その手の努力はまったくの無駄になろう。
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG大量に配布すると、ごく僅かな人からgetImageあたりでUIExceptionが出ると
報告を受ける。同じ機種なのに動く人と動かない人がいるケース。
こんなときは、その周辺にgcを置くだけで動いたりするんだよな。
これ本当によくあるケースね。
0846デフォルトの名無しさん
NGNGいいじゃん、どうせ中身はわからないんだし、動きゃあいーんだよう。
0847デフォルトの名無しさん
NGNGっていうパターンが多いからね。機種依存ありまくりです。
0848デフォルトの名無しさん
NGNGここだけ違うな
どんな実装でも問題の起こる可能性を最低限にするために
GCを配置しておく、というのが正解
0849デフォルトの名無しさん
NGNGときに明示的にGCすれば充分効果あるでしょ。
0850デフォルトの名無しさん
NGNG>ていうかさあ、VM実装してる連中だって無能じゃあないのよ。
なにか夢を見てませんか
正直
有能とはとても言いがたいクソ端末のなんと多いことか・・
0851デフォルトの名無しさん
NGNG端末の方がおかしいんだから、もう皆で開き直らない?
0852デフォルトの名無しさん
NGNG普通、メモリを確保しようとして、だめそうだったら、GCしてから再度確保するのがまともな実装なわけだが、
だめだったらあきらめる実装とかがあるのかねえ。
0853デフォルトの名無しさん
NGNG前にもいったけど、
実際毎回GCかけつつヒープの使用量を表示したことがあったが、
メモリ足りなくなるまでGCかけてもスルーされる端末が存在するよ。
0854デフォルトの名無しさん
NGNGまず携帯電話で、カメラを起動させます。
カメラを左に動かすと、それに伴って映像も左に流れるわけですが、
これを検知するようなプログラムは、作成可能なのでしょうか?
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNGレスありがとうございました。
0858デフォルトの名無しさん
NGNG呼んだ方が定期的にカクっと落ちるので使うのをかなり限定した。
毎フレーム呼ぶとかなり糞重いのでそれは却下したけど。似たような奴いない?
0859デフォルトの名無しさん
NGNG900i専用ゲーム作ってた時になったよ。
シーン切り替え時とデータ展開後以外GCは止めた。
0860デフォルトの名無しさん
NGNGそれは当たり前だ、そのために処理遅くなってもよいタイミングで、
明示的にGC呼ぶんじゃないのかと思うのは俺だけか?
0861デフォルトの名無しさん
NGNG900iの特定の機種だけじゃないの?
0862デフォルトの名無しさん
NGNGだから「System.gc()は頻繁に呼んだほうがベター(N504などで起こるプチフリーズが解消できるから)」
という台詞に「起こらない端末のほうが多いのだから、それは無駄」と答えるのはいかがなものか。
なるべく全ての端末で(なるべく共通のソースで)やるためには、
そういう無駄も仕方ないし、そういう情報はみんな欲しいんじゃないのか?
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNG共通化が進むってどこの情報?
ソース希望
0865デフォルトの名無しさん
NGNGこれかな。
ttp://www.nttdocomo.co.jp/new/contents/04/whatnew1118.html
見込みなくこんな開発しないだろう氏ね。
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG正直オカルトの類な気もするんだが。
0872デフォルトの名無しさん
NGNGなんかgc呼んでる回数の割に効いてない気がする
0873デフォルトの名無しさん
NGNG開発するアプリ内容でかわってくるから一概に言えないと思うが。
基本的に画像データを頻繁に入れ替えるアプリではN>D>その他
みたいな感覚は持ってるけどな。GCの使用頻度は。
過去にGC使いつつメモリの容量の流れを見てたことがあるが
GCを使ってもどんどん空き容量が・・つまり開放される容量が
減っていくんだよなぁ。でDなんかはその減りつつあるときに
デカイ画像をポンと表示すれば落ちるわけでw
0874デフォルトの名無しさん
NGNGttp://www.mousebreaker.com/games/crazygolf2/play.php
0875デフォルトの名無しさん
NGNG自分の経験だけで応えると
D505iとP505i(s)でgc入れただけで動くようになったことアリ。
0876デフォルトの名無しさん
NGNG技術力があれば可能。
0877875
NGNGスマソ
俺が言ったのは一瞬固まる例の現象のことではなかったぞぇorz
単にリソースたんねーってエラーが出て動かなかったのが
gc入れただけで動くようになったって話デスタ。
0878デフォルトの名無しさん
NGNGD504。あれもNと同じヤバさ。
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG質問の意図が不鮮明すぎ・・。
プログラム的に答えるなら単純にstop使え。
つか鳴らせるなら当然判ることだから・・
まさかとは思うがiアプリ関係のプログラムには
一切関係ない質問じゃないだろうな・・・。
0881デフォルトの名無しさん
NGNGどうしたらいいですか?
残り時間 = 現在時刻 - 整数で作った時刻
みたいな式をしたいんですが・・
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNGF900iでなんか処理がやたら重くてどうしようか困っています。
なんかF900iって変な癖ありますか?
0884デフォルトの名無しさん
NGNG具体的にどういうことやらせてるん?
0885デフォルトの名無しさん
NGNGグラフィックへ描画命令と実際のディスプレイへの反映が非同期で、
描画命令を受け取っても一旦バッファにたまる。
で、実際のディスプレイへの反映が間に合わないくらいの速度で
描画命令を繰り替えると、バッファが一杯になって急に速度が落ちたり、
バッファが急にフラッシュされて描画が飛んだり、という現象が
組み方によっては発生することがある。
うろ覚えなので、違ってたらフォローよろ。
0886デフォルトの名無しさん
NGNG糞機種が…。
0887デフォルトの名無しさん
NGNG描画が飛ぶのは知らん
repaint()使ってるとか?
0888デフォルトの名無しさん
NGNG毎フレーム実行してたりしてな。
ありえないか。
0889デフォルトの名無しさん
NGNGサウンド使ってる?
setSoundでやたらと負荷かからない?
0890名無しさん
NGNGrepaint()の後、paint()が呼び出されるタイミングが分けがわからん。
続けてrepaint()を呼ぶとその数だけpaint()が呼ばれないというのはdocomoの
仕様通りなのだが、最後の1回のrepaint()でpaint()が呼ばれない事がある。
repaint();
....
repaint();
....
//全ての描画が終わるぐらいThread.sleep()する。
repaint(); <-- これのpaint()が呼び出されない場合がある。
0891デフォルトの名無しさん
NGNGttp://www.atmarkit.co.jp/fmobile/rensai/doja06/doja06.html
0892デフォルトの名無しさん
NGNG1つの裏スレッドで全イベントが順に呼ばれるのもあるし、イベント毎に違うスレッドになるときもある。
あるイベント処理中にタイマーイベントが起きない機種なんかは、スレッド共有してる。
repaint()が怪しいのは昔からなんだから、駄目と思ったら使うの止めろ。
0893デフォルトの名無しさん
NGNGタイマ、描画、キー入力、音関連の機能は全部自前で用意するのがベター
0894デフォルトの名無しさん
NGNG音でMediaListener使わない良い方法あるの?
0895デフォルトの名無しさん
NGNGすべての描画が終わってるんだから、repaintの必要がないんじゃないの?
0896881
NGNGDate a = new Date();
long l = a.getTime();
Date b = new Date(l - jikan * 60 );
cal.setTime(new Date(b.getTime()));
g.drawString(String.valueOf(cal.get(Calendar.HOUR_OF_DAY)), 130 ,80);
とゆうふうに書いたんですけど値がかわりません・・・orz
ヒント下さい。。。
0897デフォルトの名無しさん
NGNG0898881
NGNG0899デフォルトの名無しさん
NGNGもちろん、セミコロンがなくてコンパイルエラーなので気にする必要はないのでしょう
0900デフォルトの名無しさん
NGNG0901881
NGNGヒントくれー
色々やってもできんよー
なぜか時間が9時間多くなる、なんで?
0902デフォルトの名無しさん
NGNGタイムゾーンの罠に嵌ってそう。
ローカル時と標準グリニッジ時がごちゃごちゃになっているのでは。
DateとCalendarで内部のタイムゾーンが違うとか。
CLDCのAPIリファレンスを参照してませう。
0903デフォルトの名無しさん
NGNGまた暇になったらやってみます
+9時間は時差ということかな…
0904デフォルトの名無しさん
NGNG>また暇になったらやってみます
対応できるようになってから聞け
0905デフォルトの名無しさん
NGNGMediaListenerで何するの?ループ再生?
MediaListener使わなくてもループできるよ。
0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNGファンファーレが鳴り終わるまで待つとか?
ループ再生は頭に戻る時曲が一瞬止まる機種があるから、むしろプログラムでループさせないほうがいい
(勝手にループ再生するようなMLDを作るのがベスト)
0908デフォルトの名無しさん
NGNGMLDにループ情報を埋め込んでもループしてくれない機種もあるらしい。
0909デフォルトの名無しさん
NGNGプログラムでループさせるほうがループは確実
一瞬止まるのはプログラムの書き方の問題か音の最後に空白ある場合
0910デフォルトの名無しさん
NGNGそもそもjikanって単位は何なんだ?
60倍してる理由が全くわからん。
lの単位はmsだぞ。
0911デフォルトの名無しさん
NGNGjikanの単位・・・。
mm(ミリ分)?
0912881
NGNG前のを少し変えてDate bを 9時間多いので -9時間して初期化
Date b = new Date( ( ( ((jikan-9) * 3600) + ( minute * 60) ) * 1000) );
これから現在時刻のミリ秒 long l の値を引いてもまだ正しい答えになりません
なぜに?
0913デフォルトの名無しさん
NGNG是非、MediaListenerを使わないでループを実現する方法を教えてください!!
ヘタレなので、どうやるのかサッパリ分からんとですorz
0914910
NGNGだから0から23の整数なのか。。
だとしたら>>896のやってることは全然駄目だぞ。
現在時刻よりもjikan[hours]前の時刻が知りたいのかなぁ。
だとしたら
int jikan;
long genzai = System.currentTimeMillis();
long kotae = genzai - jikan * 60 * 60 * 1000;
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(kotae));
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
じゃない?全然動作確認してないけどw
0915910
NGNG>>912
そのminuteはどこから出て来たんだ?
まず自由変数の無いプログラムを書けw
で、何か大きな勘違いをしてるように見えるんだが、new Date()で渡すlong値は
何を表してるのか知ってるのか?
1970年1月1日(GMT)から経過したミリ秒数だぞ。
なので、bは1970年1月1日(jikan-9)時minute分0.0秒を表していることになる。
0916881
NGNGアふぉなんで小一時間勉強して理解したらまた質問にきます
ありがと
0917デフォルトの名無しさん
NGNGだといいね
現実は甘くない
0918デフォルトの名無しさん
NGNGないよね?
0919881
NGNGcal2.set(Calendar.HOUR_OF_DAY,jikoku);
cal2.set(Calendar.MINUTE,minute);
cal2.getTimeInMillis ←ここで
メソッドgetTimeInMillis()は型Calenderで不可視です!とでます
説明書を見るとプロテクトになってるようなんですが。。。
使い方がわかりません、ヒントくださいましorz
0920デフォルトの名無しさん
NGNGCLDCのAPIリファレンスは読んだんでしょうか。
それでも意味不明だったら、J2SEのDateとCalenderの
例を漁るのといいかも。こっちはコードサンプルを入手しやすいはず。
0921デフォルトの名無しさん
NGNG君が無いと思うなら無い。
君が(そういう機能に対応したファイルフォーマットを)作ろうと思うならある。
0922デフォルトの名無しさん
NGNGシークする位置が分かれば、行単位のランダムアクセスができるはず。
一旦ファイル(iアプリだからスクラッチパッド?)の中身をすべて読み出して、
すべての改行コードの絶対位置を、バッファに格納してしまえばよいのでは?
こういう話はiアプリとは関係ないので、詳しくはほかのスレで質問しる。
0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNG浮動小数点は使えるのでしょうか?
0925デフォルトの名無しさん
NGNG厳密にはむり。
単純遅い機種にあわせてFPSを設定すれば良いが
処理ってか描画の内容によって毎回速度が変わってしまう。
で・・・遅い機種で一番遅い処理が動いた場合を想定して作ると
とんでもないぐらい遅くなるだろうしな。
ま、FPSをあまり早く設定しないってのである程度は緩和されるだろうが。
>>924
使える。が、素で使うのはあまりお勧めしない。
固定小数でいける部分は固定小数が良いと俺は思ってる。
0926デフォルトの名無しさん
NGNGカメラデバイスを呼ぶ時、内側カメラがあるかないかの判定をしたいんですが、何か方法はあるでしょうか?
デバイスのナンバーが機種によって違うらしいので、
Camera.getCamera(1);
これでカメラが認識できないならgetCamera(0)を実行できれば良いのですが。
0927デフォルトの名無しさん
NGNGcamera = Camera.getCamera(1);
} catch(Exception e) {
camera = Camera.getCamera(0);
}
0929デフォルトの名無しさん
NGNG何もしない。
0930デフォルトの名無しさん
NGNGまず何がしたいのか書けって。
CalendarのgetTimeInMillisは使うもんじゃない。
Calendarが表現してる、1970年1月1日0:0:0(GMT)からのミリ秒を知りたいのだったら
cal2.getTime().getTime()だ。
0931デフォルトの名無しさん
NGNGとりあえず、最速の端末で最速の動きができるようにする。
0933デフォルトの名無しさん
NGNG>>909は時々出没するガセネタ厨
スルーでヨロ
0935デフォルトの名無しさん
NGNG909じゃないが、Ver2か3以降のMLDはループ情報を持たせることができる。
なので1回playすれば、後は端末のサウンドドライバが勝手にループしてくれる。
プログラムでどうこうより、MLDを作る段階でループデータの入れ方を知ってるかどうかが問題。
0936デフォルトの名無しさん
NGNGレスあんがと〜
やったことないから知らんのだけど
MIDIファイルの段階でループ用のエクスクルーシヴかなんか入れて
変換するとできたりするのかな?
0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNGテストという意味ではNとDで、ふぁくとりーおーとめーしょん。
まあ、Dは規格外品ではないかと噂されてるけど…。
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG素人なら構わんが、もしプロならそういう考え方してていいの?とマジレス
0941デフォルトの名無しさん
NGNGビジネス的にDは割が合わない。
0942881
NGNG具体的にやりたい事は、予定時刻までの残り時間のカウントダウン表示です
int jikoku , minute; // 予定の時間の時間と分
TimeZone zone = TimeZone.getDefault();
Calendar cal = Calendar.getInstance(zone), cal2 = Calendar.getInstance(zone);
cal.setTime(new Date()); // 現在時刻
cal2.setTime(new Date());//予定時刻
cal2.set(Calendar.HOUR_OF_DAY,jikoku); // 予定時刻の時間セット
cal2.set(Calendar.MINUTE,minute);
cal2.set(Calendar.SECOND,0);
if (cal.before(cal2) ) {
message_no = 28;
String time;
long nokori = cal2.getTime().getTime() - cal.getTime().getTime();
cal2.setTime(new Date(nokori));
time = cal2.get(Calendar.HOUR_OF_DAY) - 9 + ":" ;
time += cal2.get(Calendar.MINUTE) + ":" ;
time += cal2.get(Calendar.SECOND);
System.out.println(time);
これで一応時間の表示はできたのですが、やっぱり時差9時間が直せないのと、
最終的にはtimeを数字イメージで表示したいので
ほしいのは時間情報だけなので、もっと簡単な方法ないですかね?
低レベルな質問かもしれませんが初心者なんで。。。
もっとこういう簡単な考え方(他の関数とか)があるだろ、みたいな感じでいいのでお願いします。orz
0943デフォルトの名無しさん
NGNGスペック的な問題もあるけど、やっぱりドラクエ非対応が効いたのか。
0944デフォルトの名無しさん
NGNG今までもDは酷かったけどD900iは段違いにヘタレ過ぎるし、
やっぱりDQ、FFだね。
あれでクライアントを説得しやすくなった。
0945デフォルトの名無しさん
NGNGiアプリの質問じゃないしこっち行け
【初心者】Java質問・相談スレ58【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1102420209/
>やっぱり時差9時間が直せないのと、
CLDCのリファレンスでCalendar#getInstanceを32767回読み直せ
0946881
NGNGところで質問変わりますが、、
僕は今スケジュール管理の既存アプリ(公開アプリ、free)を使っていて
そのアプリのビジュアルが自分のイメージと合わないので
それなら皆簡単に作ってるみたいだから・・
と思い、自分でも始めたのですが
昨日友達が来てたのにかかわらず、ここの自分へのレスを見て
それなら。。と思い、プログラムの書き直してをしていました、、、
そこへ友人の一言・・・
こんなの作って何の意味があるの?
僕:いや。。こんな感じのスケジュールアプリを作りたいから・・・
友人:これ(既存アプリ)でだめなの?
僕:いや、これでいいんだけど。。自分なりの背景とかイメージに直してるの・・
友人:直してどうするの、意味あるの?出てくる時間は一緒なんでしょ?
僕:・・・・( ´,_ゝ`;)
こんな場合・・なんていいます?
ちなみに私は意味ないけど・・なんとなく・・と答えました。。orz
0948デフォルトの名無しさん
NGNG「ビジュアルが自分のイメージと合わないから」って言えばいいんじゃねえの?
0949デフォルトの名無しさん
NGNGそんな友達は、メーラーもFTPもTelnetで充分なんだろうね。
どんな高機能なメーラー使っても、届くメールは一緒だからね。
0950881
NGNGftpはなんとなく解りますけど・・
って聞く前に自分で調べろやゴルァ!ってきそうだから
調べてくる・・・
0951881
NGNG読み方 : テルネット
インターネットやイントラネットなどのTCP/IPネットワークにおいて、
ネットワークにつながれたコンピュータを遠隔操作するための標準方式。
また、そのために使用されるプロトコル。
Telnetサーバを立ち上げてあるコンピュータにネットワークにつながれたほかのコンピュータからTelnetクライアントを使ってログオンし、
そのコンピュータの目の前にいるのと同じように操作することができる。
・・・なに・・・怖・・・( ´,_ゝ`;)
0952デフォルトの名無しさん
NGNG0953881
NGNGhttp://www.saturn.dti.ne.jp/~npaka/apptsuku/
この本を参考にアプリをはじめたのでパクッてます
もちろん公開はしません、( ´,_ゝ`;)
スケジュール表のカウントダウンに関しては
http://tomato.k1.xrea.com/train.html
見たいな感じで考えてます
0954デフォルトの名無しさん
NGNG>>881
雑談なら他でやってほしいな
0955881
NGNG消えます・・( ´,_ゝ`;)
09561
NGNG0957881
NGNGスレをたてるには?
どうすれば?
0958デフォルトの名無しさん
NGNG迷惑とまでは思わんけど。単にスレ違い。
0959881
NGNGせっかくの自分アプリ・・完成させたいので。。
恥を忍んで公開します、ほとんどパクリですが。。。
あくまで自分用なので、、、
http://www.h5.dion.ne.jp/~go-ya/iappli.htm
時間の減算だけが今の目標です。お願いします。orz
0960デフォルトの名無しさん
NGNG次スレ建ってからにしろや。
0961881@今日は暇
NGNGページエラになるよ
0963910
NGNGお前は
>>915
を読んだ上で、なんで
> cal2.setTime(new Date(nokori));
こういうコードが書けるんだ。
人のアドバイス読んでるのか??
0964910
NGNG自分で計算しろ。nokoriはms単位での残り時間だ。
さすがに計算方法は分かるよね:-)
0965デフォルトの名無しさん
NGNGまず普通のJavaで書け。J2SE1.4を入れて、System.out.println()で要所要所の
数字をだしてどこが間違っているか自分で確かめろ。
TimeZoneなんていらねぇよ。Calendar.getInstance()はデフォルトのタイムゾーンと
ロケールで作られる。日本向けの端末のデフォルトは日本の標準時だ。
0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG騙された!
0968デフォルトの名無しさん
NGNGガイシュツ
0969デフォルトの名無しさん
NGNGスクロールかくかくだしキーの押しっぱなしも効いてないし
ところでspにうまく書き込めなくて困ってる
初回起動チェック用にspの1バイト目が0ならば1を書き込んで起動するごとに判定してるけど
毎回毎回1バイト目が0ってされて、保存したデータも読み込めてない
エミュでspを覗いてみると確かに書き込めてるのに…
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG100kbyteを0で初期化してみたが一瞬で終わったな
0972デフォルトの名無しさん
NGNG機種しだい。
アプリ終了時に書き出す機種すらある
0973デフォルトの名無しさん
NGNGF505iってSP入出力おそくない?
0974デフォルトの名無しさん
NGNG機種は何?
全機種だったら他の場所でクリアしてるんじゃない?
スクラッチパッドのポインタチェックしてみな。
0975デフォルトの名無しさん
NGNGそんな機種あるのか??というか教えてくれ!その機種。
それだと正常終了しなかった場合スクラッチの記録がなくなる?
アプリからの正常終了は良いし、
エラーや電源ボタンによる終了もまぁ良しとしても
いきなり電池パック取られたり、もとい電池切れたりしたら・・・。
0976デフォルトの名無しさん
NGNGPDCのPがそうだよ。FOMAは分からん。
ベンチマークでSPが異様に速い機種は、RAMをキャッシュにしてます。
フラッシュに書き出すのはアプリ終了時。
電池パック取られたらたぶん、データ退避されないと思うけど
データが更新されないだけで、それ以上の悪影響はなし。
0977デフォルトの名無しさん
NGNGおお、レスサンクス。
Pなのかぁ・・・。確かにフラッシュされないだけで問題はなさそうだけど
一応覚えておいて損はないなぁっと思って。
0978デフォルトの名無しさん
NGNG976代わりに答えてくれてありがと。
P504とか終了時に異様に時間がかかるからすぐわかるよね。
0979デフォルトの名無しさん
NGNGじゃないとめっさ遅くなるはずだもんな…。
0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG話が分散するのはあんまり良くないような気がするが・・・
0984デフォルトの名無しさん
NGNGっつか、早く Part4 と Part5 読めるようにならねーかなー
0985デフォルトの名無しさん
NGNGにくちゃんねるだとPart5は読めるようだけど、
Part4がみあたらない?
http://makimo.to/2ch/index.html
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。