- ゲームプログラムなら俺に聞け30
606 :デフォルトの名無しさん[sage]:2014/05/14(水) 00:44:08.69 ID:0h3U5T8U - >>604
>攻撃力や命中率といったアイテムデータの中にアニメーションのデータを入れるのも変な気がします そんなことない。オブジェクト指向というのはオブジェクト主体でコードをまとめるということだから、 アイテムオブジェクトに関することをまとめるのは自然な発想。 むしろ、オブジェクトじゃなくてデータ主体で分類するから、「変な気が」するだけ。 処理とデータを分離する手続指向的な発想だろうね。
|
- Androidプログラミング質問スレ revision42
902 :デフォルトの名無しさん[sage]:2014/05/14(水) 05:39:01.53 ID:0h3U5T8U - ぱっと見ただけだけど、
protected void onStop() { (略) onDestroy(); } 一体このonDestroy()は何のつもりなの? これをやめてみたらどうなの?
|
- Androidプログラミング質問スレ revision42
906 :デフォルトの名無しさん[sage]:2014/05/14(水) 06:39:23.55 ID:0h3U5T8U - >>903
試してみたけど、全然エラーになんないよ。 package com.example.testdestroy; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.widget.Toast; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.activity_main); Toast.makeText(this, "onCreate!", Toast.LENGTH_LONG).show(); } @Override protected void onDestroy() { super.onDestroy(); Toast.makeText(this, "onDestroy!", Toast.LENGTH_LONG).show(); } } ※layout/activity_main.xmlは初期状態のものをそのまま バックボタンで「onDestroy!」とトーストが表示されたのを確認してから、アプリを再起動。 「onCreate!」と出る。何も支障ない。Android 2.3.4と4.4.2で試した。
|
- Androidプログラミング質問スレ revision42
907 :デフォルトの名無しさん[sage]:2014/05/14(水) 06:56:18.18 ID:0h3U5T8U - まあ>>901のエラーはonDestroyを意図的に呼ぶというムチャのせいであって、
>>821の件とは無関係だろうね。 >>821の件はよくわからないけど、 Androidフレームワークでは一般にコンストラクタではなくonCreateで初期化することが推奨されてるから、 staticメンバの扱いについても、何がしかの確実性のある挙動をあてにしようとしない方がいいんじゃないかと。 ライフサイクルはJavaではなくAndroidの掟に従うべしってこと。
|
- ゲームプログラムなら俺に聞け30
609 :デフォルトの名無しさん[sage]:2014/05/14(水) 07:13:29.29 ID:0h3U5T8U - >>608
アニメーション処理の内容自体を定義したクラスは別クラスになると思うけど、 そのアニメーションクラスのインスタンスを アイテムクラスのメンバーとして保持すればいいでしょ? class item { private int attack; private int hitRate; private Animation animation; }
|