iアプリでゲーム
■ このスレッドは過去ログ倉庫に格納されています
0001利用者側
01/11/06 19:30ID:???0455372
02/06/02 22:46ID:WLew8kMwレジューム処理の確認をしないままUPして申し訳無い。
http://members.tripod.co.jp/mightguy/cupmen/ShortTimerVSThread3.lzh
・503, 504両対応
・レジュームの処理をする
・キー入力を受けつける
・経過時間の表示
・ShortTimerおよびThread.sleepの間隔は1000から毎回-100し、100になった段階で終了表示を行う。
・ShortTimerおよびThread.sleepと平行して画面出力を行う
DOCOMO503エミュでコンパイル後、jarファイルのサイズを比較
ShortTimer:1427byte
Thread:1695byte
となりました。
>>453
元の仕様に近づくように変更しましたが、まだかけ離れていると思う点があれば指摘してください。
0456名前は開発中のものです。
02/06/02 23:52ID:???Threadの方、修正したら1253byteになったよ。
ShortTimerの方は、さわる気にならかったよ。
0457haruka
02/06/03 04:12ID:???リソースの限られている機械向けのソフトウェアで、
オブジェクトの生成→破棄を必要以上に頻繁に行うっていうのが、
私にはとても奇妙に感じるのです。
Thread版見たけど、一回タイミング測る毎に
Threadを生成→破棄を繰り返してるってのは、
ちょっと普通じゃないと思うな。
0458名前は開発中のものです。
02/06/03 08:08ID:0dpsacuIソースコードがみたいにゃー
0459458
02/06/03 09:03ID:???気になって仕事に行けねぇ(藁
せめてrun()だけでもここにはってくだちい
予想ではこんな感じか?
public void run() {
while (true){
repaint();
try {
if (interval > 100) interval -=100;
Thread.sleep(interval);
} catch (InterruptedException e){}
}
}
で、class Wを取っちゃうの。
0460名前は開発中のものです。
02/06/03 14:28ID:???時間を正確に計りたいならもっと良い方法はあるでしょうけれど、
現在の方法でどの程度の精度が得られるのか、実機(何機種か)で評価してみていただきたいです。
カップラーメンタイマーとの事ですから、3分か5分の計測が良いでしょう。
(通話などの割り込みがあるケースは無視して良いでしょう。)
ストップウォッチを用いて、各機種ごとに10回程度計測し、....んな事、だれもやらないですね。
0461名前は開発中のものです。
02/06/03 22:19ID:o3lGYAioちゃんとセーブ機能をつけないと大変なことになりますが・・・。
0462名前は開発中のものです。
02/06/03 22:30ID:???サーバー側で勝手に周回してるようなゲームだと良いかも。
時々アクセスして状況を見る。気が向いたらドライバー交代して運転も可能?
0463372
02/06/03 23:27ID:???>私にはとても奇妙に感じるのです。
普通のプログラマが奇妙に感じるプログラムで、jarファイルのサイズ(==パケット代)が減るかも
という仮説に基づいてのプログラムしたものです。
>ちょっと普通じゃないと思うな。
俺にはrepaint()とThread.sleep()を並列化させる方法があれしか思い浮かびませんでした。
今回の件でいろいろ勉強になりましたが、まだまだ未熟だと実感しています。
ですので、もっと良い方法があったらご教授ください。
>>459さんのプログラムに2、3行追加して、repaint()とThread.sleep()を並列化させるという方向で
>>456さん言うの方法を小一時間考えてみたのですが、俺の乏しい知識では思いつきませんでした。
降参です、>>456さんにはぜひともプログラムを公開していただきたい。お願いします。
>>460
意図を汲み取って頂けてなんとなくうれしいです。
それに、精度のこともあるけど、比較するなら同じ条件じゃないと不公平じゃないですか。
repaint()とThread.sleep()のを並列にしないなら、ShrotTimer側のresume処理を端折っても良いとか言えちゃうわけでして。
0464通りすがり
02/06/04 00:25ID:???Thread 1237byte
ShortTimer 1271byte
容量重視でいったので必要な分しか書いてません。
場違いだったら大変申し訳ない。
http://www.xoasis.com/~fnmvei/apps.zip
0465名前は開発中のものです。
02/06/04 00:31ID:???変数
volatile int n = 0;
を追加し、run() の
repaint();
を
n = 2;
repaint();
n *= 2;
に修正、paint()の先頭に
n +=3;
を追加、func()のどこかに
g.drawString("n:" + n, 50, 15);
を追加してみてください。
nはいくらになるでしょうか?
或いは
repaint()を呼び出しているThreadとpaint()が呼ばれているThreadは同一でしょうか?
例えばThread.currentThread().toString()などとすればThreadを識別する為の文字列が得られると思います。
実行環境によって結果が異なる可能性は、ありますね。私はiアプリ端末を持っていませんから実機での確認は出来ませんが・・・・
0466465
02/06/04 02:25ID:???じゃあ、Threadを生成するのとrepaint()、どっちが重たいか・・・・
いや、そんな事考えるより、単純に計測スタート時のSystem.currentTimeMillis()を基準にタイミング調整するように作っとけば累積誤差とか気にせずに済むんだよね。
(機種によっては、補正が必要らしいけど・・・・。)
0467haruka
02/06/04 05:50ID:???片方のスレッド(a)で、
Thread.sleep(...); count++; b.notify(); をぐるぐるまわして、
もう片方のスレッド(b)で、
repaint(); wait(); をぐるぐるまわせばいいんじゃないの?
wait()の方がnotifyより後に実行されちゃうとハマるから、
本当にやるならフラグ管理してwait()を飛ばす等の処理が必要になるけど。
0468名前は開発中のものです。
02/06/04 21:54ID:???repaint() paint() で描画やら無くてもいいと思うけどこれは的外れかな・・。
paint() は repaint()によって呼ばれるとは限らなかったはずだから。
0469名前は開発中のものです。
02/06/04 22:46ID:???プログラムから意図的にrepaint()しなくても、例えば通話の割り込みからのアプリへの復帰などの際にシステムからpaint()が呼ばれたりする訳ですよね。
だからこそ、paint()が呼ばれた際に描画を行う事が望ましいと思うのですが。
そして、システムの都合に合わせ、無駄な再描画による電力消費を抑制する為にもrepaint()呼出しによる控えめな描画要求を行うのだと思います。
リアルタイムなアクションゲームなど、再描画がムチャクチャ激しいアプリケーションの場合は、そういう気遣いの優先順位は低いでしょうけどね。
ゆるいアプリなら、わざわざrepaint()やpaint()を無視する必要は無いと思うんですが。
もちろん、paint()では表示バッファの更新を行うのであって、オフスクリーン描画他の処理はpaint()で行う必要はないと思います。
0470名前は開発中のものです。
02/06/05 22:58ID:???0471372
02/06/06 02:34ID:???この時間はサイトが重いのか、ファイルを拾うことが出来ませんでした。申し訳無い。
昼間の軽い時間に再チャレンジしてみます。
>>470
仕事で残業(泊まり)あったりするんで、皆勤賞は狙えないかもです。
>>一連のThread議論
前にも一度引用したんですが、
http://www.atmarkit.co.jp/fmobile/rensai/doja06/doja06.html#2
の●Canvas#repaint()のタイミングってところ。
この記事を信じると、repaint()で描画スレッドが作成され他の処理と並列に描画する端末と
repaint()内部でpaint()を呼ぶ端末があるように読めます。
俺の解釈では後者はThreadを使わないで描画処理していると思うんですが、
N503i,P503iを借りてきて実験してみるという環境にいません。
そこで、>>465さんの提案を誰か実際の端末(P503i, N503i)でやってみてもらえませんか?
0472haruka
02/06/06 09:00ID:???それはあってると思うよ。
でも同じ理由で、、
paintで描画以外の処理をやるのは、
あんまりオススメできないと思う。
意図しないときに呼ばれたり、呼ばれなかったりするわけだから。
0473名前は開発中のものです。
02/06/06 11:32ID:???>でも同じ理由で、、paintで描画以外の処理をやるのは、あんまりオススメできないと思う。
オススメしてるように読める???
私としては、このスレでもその種のコーディング(かならず呼ばれる事を前提にした)は止めたほうがいいと何度か注意してるんですけど。名無しだから識別出来ないけど。
0474名前は開発中のものです。
02/06/06 11:47ID:???0475エアリエル
02/06/06 13:33ID:???0476haruka
02/06/06 23:00ID:???そういうわけじゃなくて、372がそういうコーディングしててヤバいよってのを
指摘したかっただけ。誤解するよーな書き方してごめん。
0477エアリエル
02/06/08 12:58ID:???どうしてそういうことが言えるんですか?
とか言ってた人がいたな〜〜。。。
0478名前は開発中のものです。
02/06/08 19:02ID:???0479名前は開発中のものです。
02/06/08 21:32ID:???Exciteで英訳→和訳してみますた。
─
ちょうどしばらく――!それは、それがYABAI--USOTSUKI--である場合、言います――[表現]はどのように行なわれ、そのようなもの、言うことができる――それはそうです――?また言った人--それはそうです(棚)。。
0480372
02/06/09 01:06ID:???俺の言動で煽りが寄ってくるようなので、名無しに戻ります。
類は友を呼ぶって事ですかね...
・processEvent()内部は出来るだけ短く
・paint()内部には描画に関係しないプログラムを書かない
を基本にThread使ったプログラムをいろいろ書いてみて、一から勉強しなおします。
0481エアリエル
02/06/09 02:50ID:???もしかしなくても私の言ってる事?古いネタだが、ムネオ答弁だよ。
いや〜ムネオハウスの聴きすぎでヤバイというキーワードを見かけると
頭の中でそのセリフが渦巻く。誰か止めて
0482名前は開発中のものです。
02/06/09 08:59ID:???真面目にねえ・・・・・あなたの様な態度の人間に「まじめに議論」してると思わせ、何度もレスを返し続けるのって、かなり苦痛なんですよ。
放置しておくのも苦痛だったから相手してたけど、もう勘弁してほしい。次はもう「参加」しませんから、私は。
あなたには「煽り」と感じられる様なレスなら付けるかもしれないけど。
相手に真面目に接して欲しいななら、自分の態度を省みた方が良いよ。
ところで、メーカーから何か返答はあった?
あの「仕様」が望ましくない&明文化されていないのは事実だろうし。
回避手段はあるにしても。
0483名前は開発中のものです。
02/06/10 23:05ID:???//ほかの機種ではどうですか?
import com.nttdocomo.ui.*;
import com.nttdocomo.io.*;
public class appli extends IApplication{
private canvas c;
public void start(){
c = new canvas();
Display.setCurrent(c);
}
}
class canvas extends Canvas{
public ShortTimer timer;
public void processEvent(int type, int param){
if (type == Display.KEY_PRESSED_EVENT){
if (timer == null){
timer = ShortTimer.getShortTimer(this, 0, 100, true);
timer.start();
}
}
if (type == Display.TIMER_EXPIRED_EVENT) repaint();
}
private int x = 0;
public synchronized void paint(Graphics g){
g.lock();
g.clearRect(0, 0, Display.getWidth(), Display.getHeight());
g.drawString("おれもN504iのバグを見つけたよ。", x--, 15);
g.unlock(true);
}
}
0484名前は開発中のものです。
02/06/10 23:31ID:???(しっかし、ゲーム以前の話しばっかだね)
0486名前は開発中のものです。
02/06/11 12:03ID:???0487エアリエル
02/06/11 13:20ID:???0488エアリエル
02/06/12 10:52ID:???これか…。
0489エアリエル
02/06/14 01:26ID:Ad.70JmI0490名前は開発中のものです。
02/06/14 12:02ID:???0491エアリエル
02/06/14 18:30ID:oWGRPdm2はいはい…、馬鹿の一つ覚えか何かよくわからんがその手のレスはもう飽きた。
0492名前は開発中のものです。
02/06/14 18:47ID:???ネタ無いならageんな
0493エアリエル
02/06/14 19:42ID:???たまに上げとかないと消えちゃうけど…いいの?(過去最短3日で消えた事がある)
まっ消えたら消えたで新しくスレ作ればいいという話もあるけど…。
下げるとスレの存在に気がつく人が減る。たまにはイイでしょ?
0494名前は開発中のものです。
02/06/14 20:52ID:???落ちてもいいんじゃない?なんせネタが無いんだから
「iモード端末バグ・不具合報告・対策スレ」でも別途立てた方がいいんでないの?板違いかもしれんけど
0496名前は開発中のものです。
02/06/14 22:40ID:???勉強になるよ
0497エアリエル
02/06/14 23:08ID:???>開き直ったね
なんでやねん〜
さて、、つまらん話題。
504i全社出揃ったけど結局どれが一番普及するかな?
どこか統計を取ってるようなサイトありませんか〜?
0498名前は開発中のものです。
02/06/14 23:12ID:???0499エアリエル
02/06/15 00:05ID:???何かヤバイ事でも書いてしまったん?
0500496
02/06/15 00:13ID:???ていうか、俺以外はあんたの自演、って可能性もあるか
ところで、落ちても消えはしないでしょ
0501エアリエル
02/06/15 08:28ID:???>あんた以外、1人しか書き込んで無いと思ってるでしょ
それは貴方でしょ?
私、372、その他おーぜー、が成立してたわけだから
私と他1名と考えるアホはいないね。
もっとも、それら全てが自作自演なら別だが…。
そうそう、人のやる事にイチイチいちゃもんつけてるヒマがあるなら
ウチのアプリ買ってヒマつぶしに遊んでてくれ(爆
504i
F:前よりは10倍速いらしいが特に突出すべき点は無い…?
D:3Dエンジンがついたが、1社のみなので専用アプリはそんなに出ない…?
SO:我が道を突き進むのはいいが、画面が狭すぎる…気がする?
N:我が道を突き進むのはいいが、画面が広すぎて嫌がらせのようにも思える…?
P:情報少なし…何か強烈な特長あるの…?
と、私はこんなようなイメージですが、実際の所はどうなんでしょ?
0502haruka
02/06/15 12:24ID:???宣伝は他のところでやってくださいな。
P504i買いましたよ。
ベンチマークどおり2Dグラフィクスがすごく速いとか、
背面液晶に表示できるってのは特長にならないの?
0503名前は開発中のものです。
02/06/15 12:41ID:???あー、そんなに遡るのね。上手い上手い。
で、あんたのアプリ弄ってるよりは
あんたの世渡り術を観察してる方が暇つぶしになるよ。
0505エアリエル
02/06/15 14:26ID:???いや〜ん♪えあ恥ずかしぃ〜ん♪
と、これ以上荒らしてもしょうがない。元の路線に戻すとするか…。
(そこの荒らした本人が何をいってるかと思った人ダウソ♪(死語))
iアプリの稼動する携帯に占める504の割合は現在どのくらいなもんなんでしょ?
まだ503アプリ作ってた方がお客様にとってはいいのかな?
0506名前は開発中のものです。
02/06/15 15:19ID:???違ったらスマソ。
503から504へ完全移行には多少期間が要るだろうから504じゃないと実現不可な
アプリで無い限りは503ベースで良いかと思うと言ってみるテスト。
0507名前は開発中のものです。
02/06/15 16:14ID:???各機種がどこのプロセッサを採用しているかなんて情報は、聞こえてきてますか?
(そんな事解っても、って意見もあるでしょうけど。基本的に興味本位ですが、業界の動向・メーカーの力関係の変化を知る材料になるとも思います。)
0508エアリエル
02/06/15 16:53ID:???あっ、、Pが一番速いんですか〜。
やっぱり503の時最低速だった反動からでしょうか…(笑
移行期間はどのくらいかな〜?やっぱり8ヶ月はかかるかな、、
今回は高いからホントのところどの程度かかるのか想像つかないや。
皆様はどのくらいとみてます?
0509初心者
02/06/15 17:42ID:???なんかいい本ないですかね?
ちなみに自分はJavaは全く分かりません
htmlならわかるけどね
0510名前は開発中のものです。
02/06/15 18:11ID:???Amazonで「iアプリ」で検索したらいくつか書籍がヒットしましたが、
iアプリでプログラミングを0から学ぶ、系の本/サイトって、あるでしょうかね。
個人的にiアプリから入るのはJavaを学ぶには望ましくないと思いますが、
Javaを学ぶ事自体が目的では無いでしょうし、具体的な、手近な目標を持てるメリットは大きいですしね。
0511エアリエル
02/06/15 18:52ID:???最近はもっといいのが出てると思うけど、
翔泳社の「iアプリAPIリファレンス」って本。
多少わかりにくい所もあり、おまけにその機能について説明してる所より
サンプルプログラムで実際に使ってる所を見た方がわかりやすかったりしますが、
それを差し引いても結構いいカンジですよ。(私が使用しているバイブルだったりします)
それと、ちょっと初心者にはわかりにくいと思いますが
http://www.amazon.co.jp/exec/obidos/ASIN/4894715155/ref%3Ded%5Fcp%5F12%5F2%5Fb/250-3152016-2626641
Java for iアプリ プログラミング入門
さかき けい (著)ですな。
こちらは非常にわかりやすい非公認APIリファレンスがついてるのが特徴。
まぁ氏のHPにもありますけどね…。
それと、一般的なJAVA入門本(ウチではJAVAではじめるプログラミング(秀和システム、箕原辰夫著)を使用)
iアプリ本だけでは不完全なので揃えておこう。
あ〜〜ライバルを増やしてどないんするんだ?! > 私
0512名前は開発中のものです。
02/06/16 10:39ID:4CtjvhDI0513エアリエル
02/06/16 12:03ID:???いつかそのうち無責任会社エアリエルとして、思いやりの無い汚い会社になろうと…(←これは冗談
0514名前は開発中のものです。
02/06/19 20:30ID:9NWyqiDwみんなよろしくな!
0515我ながら冷たいが
02/06/20 01:33ID:???0516名前は開発中のものです。
02/06/20 13:38ID:???このスレが上がってると売上が伸びるのかなぁ・・・・・
0517名前は開発中のものです。
02/06/20 23:02ID:???公式エミュを使ってiアプリを作ってるんですが、コンパイルは通るんですが
実行しようとすると↓のエラーが出て来て、実行できません。
最初は無事に動いていたのですが、ソースを分割しようと思い、
サンプルソースを見たところ「package」なる物が存在したので、
「package Test;」と定義したのですが、エラーのLauncher.mainという文から判断して
packageされてないのでしょうか?分かる方教えて下さい。よろしくお願いしますm(_ _)m。
Exception: java/lang/ClassNotFoundException
com/nttdocomo/dojaemu/Launcher.main (static) IP = 40
ClassNotFoundException for class Test
Exception: java/lang/RuntimeException
com/nttdocomo/dojaemu/Launcher.main (static) IP = 175
Exception: java/lang/RuntimeException
com/nttdocomo/dojaemu/Launcher.main (static) IP = 183
0518名前は開発中のものです。
02/06/21 00:53ID:???aと言うIApplicationを継承したアプリのメインクラスと
Cと言うアプリ実行中の処理を担当するクラスの2つで分割した場合
(C.java)
package Test;
public class C
{
...........
}
( a.java )
import com.nttdocomo.ui.*;
import Test.*;
public class a extends IApplication
{
..................
}
という感じになるかと。
・・・・的外れかな、、、、、?
0519518
02/06/21 01:08ID:???↑のC.javaみたいな書き方をしていけば良いのではないかと。
また、ソースファイルを分割する際別にpackageを
書かなくても問題はないと思います。
(iアプリぐらいの規模ならば)
0520名前は開発中のものです。
02/06/21 02:35ID:???で、「アプリケーション属性の設定」のAppClassの定義はどうなってる?
発生した例外が示されれてるのは他の質問者よりマトモだと思いました。
出来ればエミュのバージョンなども記して欲しかった。(例外から特定できましたが、やや時間をロスしました。)
問題を再現できるプロジェクト(ソース)(実際の物でなくても良い)を公開してもらえるとなお良かった。
というか、この種の質問はもっとJava人口の多い板を探して行った方が健全だと思うよ。2chに限らず。
手近で済ませたい気持ちも解らなくも無いけど、このスレの住人って質が低いからね。なんちて!
0521518
02/06/21 08:52ID:???AppClassの定義はメインクラスのaです。
また、メインクラスaもpackage Testを追記する場合は
Test.aとAppClassの定義をする必要はあります。
0522名前は開発中のものです。
02/06/21 13:32ID:???こちらの環境では、packageを用いても普通に実行出来ています。AppClass定義が不適切な場合にその例外が発生しています。
現象を再現できる範囲で公開したく無い部分を省いて、あるいはサンプルを新たに作るのでも良いから、ソース(プロジェクト)を公開してくれません?
なんか、思い込みうっかりミス系なんじゃないかと思えるんですが。
サンプルを作ってる過程で原因が解るかもしれないし。
packageを用いると必ず上手くいかないんですか?
環境によってはjarが正しく生成されないとか?
JDKのバージョンは?Forteは使用してますか?
0523518
02/06/21 22:57ID:???誤解を招いてたらスマソ。
おそらく517のエラーはAppClassの指定でミスってるぽい感じがします。
0524名前は開発中のものです。
02/06/21 23:36ID:???え、そだったの?!かなり時間を無駄にしてしまった・・・・・・
0525名前は開発中のものです。
02/06/21 23:53ID:???iアプリ最速の端末は?
http://www.zdnet.co.jp/mobile/0206/21/n_504java.html
>速度トップは「P504i」と「F504i」
で、それぞれ得意不得意があるようですね。
設計思想の違いもあるだろうけど、「煮詰まってない」んでしょうね。
Fは性能改善をアプリケーションプロセッサに依存しまくって、
Pは周辺回路の改良、最適化・高速化に力を入れた、って感じなのかな?
面白いなー。今後の動向が注目されます・・・・・
0526エアリエル
02/06/22 10:18ID:???描画領域が広がった分、時間がかかるようになったと考えるべきなのだろうか…
0527名前は開発中のものです。
02/06/22 14:32ID:GMVtOCJwコンテンツプロバイダーの皆さんはNECに圧力かけるように。
0529名前は開発中のものです。
02/06/22 17:44ID:???そんなに悪いのでつか?具体的にどのくらい?
0530名前は開発中のものです。
02/06/22 17:57ID:WNq68wkw0531名前は開発中のものです。
02/06/25 11:09ID:DSJxIKrMググールしても10件も引っかからないっす。
0532名前は開発中のものです。
02/06/26 16:02ID:fQBy5QTsでも地道にやりますずら。
0533名前は開発中のものです。
02/06/29 14:18ID:???0534名前は開発中のものです。
02/06/29 20:35ID:???0535名前は開発中のものです。
02/06/30 00:33ID:???0536名前は開発中のものです。
02/06/30 09:05ID:H/7mI.rA0537名前は開発中のものです。
02/06/30 10:48ID:???次回はがんばってや
0538名前は開発中のものです。
02/06/30 21:02ID:IV39Gy3Ym23 星雲から何かやってくるのかな…。
0539エアリエル
02/06/30 21:54ID:???0541531
02/06/30 23:08ID:IV39Gy3Y0542名前は開発中のものです。
02/07/01 07:46ID:.fV5RaY.動作環境がまちまちだから無理なのかな。
0543通りすがり
02/07/01 14:45ID:???てきとーに google で検索して色々と作ってみれば分かるんじゃない? 入門書は
あんましいらないと思うんだけども。結構 i アプリの作り方ページってあるし。
i アプリを作りはじめてしばらくしてから本屋で i アプリの本を読んでみたらすでに分かっている
ような事しか書いてなくてちょっとガッカリしたなぁ。
0544名前は開発中のものです。
02/07/01 19:55ID:gjasXGhAアドバイスありがとう。
0545通りすがり
02/07/03 19:18ID:???お礼を言われるほどアドバイスにはなってないよね。ごめんね。
ええと、入門書が無いと分からないことってどんな事なのかな。作り方がまったく
分からないって事?
0546名前は開発中のものです。
02/07/04 06:01ID:ZEJJ8iyM0547通りすがり
02/07/04 12:41ID:???作れるようになるから出来るといえば出来るんじゃないかな?
0548544(どしろうと)
02/07/04 23:03ID:fecojTdk普通にDOS窓からコンパイルかけて実行しているんでしょうか。
0549通りすがり
02/07/05 12:14ID:???Java 入れてからそれ入れてプロジェクト作ってボタンをポチっと押して
コンパイルって感じ。
0550544(どしろうと)
02/07/07 12:25ID:ih4n5XH.今日時間ができたから構築してみます。
0552名前は開発中のものです。
02/07/12 21:37ID:p0aBtjhUたぶんただのdrawImageのラッパーなんだろうなあ。
0553名前は開発中のものです。
02/07/13 22:38ID:FtiQq43siアプリで2chパチスロ作ってください。
■ このスレッドは過去ログ倉庫に格納されています