復帰後初クリアです。
いや~2年前と環境ずいぶん変わりましたなぁ。
2ヶ月ちょっとでタワー制覇まで来れるとは思わなかった。これもコロナテレワークのおかげだな
 

 
■1戦目
ブメチャクで行ったら火オラクルにスタンごと解除されて手も足も出ず。
昔、1戦目なんて苦戦したことないんだが・・・?と思ってたら、強化されてたんですね~
全体縦割り&スタンでは勝てないことが分かったのでブメチャクひっこめて、一体ずつ処理することに。
どうせリリスで火力役必要だったしね。
単純に敵の火力が高くてギリギリでしたが、何とかクリア。正直ここが一番苦労したわ・・・
 
■2戦目
フランで免疫貼っちゃえばそんなに苦労はしない。フランが脆いのだけが危うかった。
僕のレベルでは、まだ4番は攻撃%じゃなくって体力%にすべきなのかな。
 
■3戦目
ひたすらリリスを狙い続ける。
緑と赤が動き始めるとヒヤっとするけど、ラグマロンがたまにスタン付けてくれるので何とかなった。
かなり危ない。負けてもおかしくなかった。
セオリー通り、端から倒した方が良かったのかな。
 
■所感
冒頭にも書いたけど、昔と環境変わってびっくり。
  • 火ブメチャクがめちゃめちゃ強い。殆どこれで登って来れた。水が多いとは無リポ・・・と思ったけど、ラグマロンが仕事してくれた。見くびってたけどラグマロンのスキル3のスタンめっちゃ強いわ。
  • タワーと言えばファーの印象だったけど、ローレンが強すぎる、まるでファーが要らない子に。みんながローレン強い強いいう理由が分かった。ゲージ下げだけでも十分なのに、これに縦割りついてるとかぶっ壊れですわ
  • 初心者タワーといえばバレッタのイメージで、最初に調合で作って何体か調合上げしたり、イベント報酬でわざわざシルフの不完貰ったりしたのに、とうとう1回も使わなかった・・・・
  • そして、スペクトラも1回も使わなかった。2次覚醒せないかんなとか思ってたのに・・・ただ、リリスを水イフで削るの大変だったから、スペクトラのほうがいいかもしれない。が、1戦目が越えられないよな・・・・
  • マーブも1回も使ってない。てか、星4で放置。まぁ、元々そんなに使ってなかったけどね。
 
 
まさかの3体目の純5!
 
はじめて1ヶ月で3体目!なんだこの引き!??
100連召喚イベントが神過ぎる・・・

 

某ランキングで順位が低かったのではずれかと思い方を落としたが、風キメラともスキル2がめちゃくちゃ強く、スキル3もそこそこダメージ出るし、風ほどじゃないが足止め性能も高い。

水イフよりドラゴンに向いてるんじゃないか?と思いつつ、育成に手が回らない。。。

100連召喚イベントにて!!

まさかの2体目の純5召喚!!!

まじか、まじかぁあああああああ

 

 

ま、ハズレっぽいんですけどね

 

タワーで使えそうだがこの子にデビルモンはちょい抵抗あるな・・・

全体攻撃2個あるから火異界でも使えそうだが、それはかなり先の話だな・・・

初の純5キタァアアアアアア!!!!!

 

まだ巨人すら攻略できていない段階なのに!!

1st垢ではあんなに出なかったのに!!!

 

巨人10Fがどうしても攻略できず、

風属性で、毒付けられて、そこそこ耐久ある奴いないかなぁ・・・

と思ってたところにこれ!あなたが神か!!

 

このあと、程なくして巨人10Fは攻略出来ました。

ありがたすぎる。

1体目の星6はラピスにしました。

 

今から始める初心者は、1体目の星6は、水魔剣士ラピスでほぼ間違いないです。

  • シナリオ産のルーンだけで火山ヘル周回可能(未覚醒でも出来た)
  • アリーナのライバルもラピスが要ればなんとかなる
  • カイロスもそこそこ潜れる

兎に角序盤はシナリオ重視で、メンター&メンティーをうまく捕まえてひたすら進み、最後までクリア捨てルーンをゲットすること。

これが間違いなく一番早いと思います。

諸事情で2回消したサマナーズウォーのアカウント

2度とやらないと思ってたのに、復帰してしまいました

  • 自動周回が楽(重要)
  • そして面白い

これが理由だな

色々やって、DFFOOとかまあまあハマったけど、結局サマナが一番面白い

伊達に過去2年もやってないな

 

復帰するならアカウント消さなきゃ良かった(特に最初の奴)

2つめのもヴェラードとかあったのに

 

とかいろいろ思いますが、巨人10F目指してちまちまやってこうと思います

Release builds must be signed when using Gradle.Please select keystore and signing key

 ↓

Gradleを使用する場合、リリースビルドに署名する必要があります。キーストアと署名キーを選択してください

 

 

※なんかどっかでみたことあるような白い熊がいますが、万が一公開することがあれば差し替えます

 

 

連日ちまちまやってここまで出来ました。
ゲームとして面白いかは甚だ疑問だけど、Androidプログラミングのお勉強なのでまあいいや。
 
ポイントはこんなところ。
  • メインループ(60fps)処理。色々試してTimerに落ち着く。ほんと大変だった・・・・
  • 画像表示。Canvasを使用。
  • 端末ごとの解像度(DPI)の違いに対するケア。
  • ジャンププログラム(これはAndroid関係ないからある程度過去の経験が役に立った)

気が向けば解説記事を作ろう。

 
 
ドラクエのパクリゲーの進捗。
敵が整列して、攻撃できるようになりました。(倒せるとは言ってない)

 

 

 


覚えたことを参考にしたサイト様と併せて紹介。
ソースコードは該当部分だけ抜粋なので、コンパイル通らないです。
 
●乱数の取得
Random r = new Random();
int dmg = r.nextInt(999);

http://kazukii777.blogspot.jp/2013/05/android_6460.html

 

 

●ダメージ(テキスト)のアニメーション乱数の取得
TextView textDmg1a = findViewById(R.id.textDamage1a);
ViewCompat.animate(textDmg1a)
        .alpha(0f)
        .translationY((int)convDp2Px(-40))

        .setDuration(2000)
        .setListener(new ViewPropertyAnimatorListenerAdapter(){
            // 設定したアニメーションが終わったら非表示に
            @Override
            public void  onAnimationEnd(View view) {
                view.setTranslationY(0);

            }
        })
        .start();

https://woshidan.hatenablog.com/entry/2015/11/16/083000

 

 

●Viewの表示・非表示乱数の取得
textDmg1a.setVisibility(View.VISIBLE);

http://androidgamepark.blogspot.jp/2013/03/setvisibilityviewgone-findviewbyid.html

 

 

●画像を動的に変える

imgButton.setImageResource(R.drawable.samayoro);

https://akira-watson.com/android/imageview.html

 

 

●画像の透明度(alpha)を変える

(使わなくなった)

http://y-anz-m.blogspot.jp/2011/04/androidcolorfilter.html

 

 

●画像を点滅させる

AnimationSet animSet = new AnimationSet(true);
// 点滅アニメーションを設定
AlphaAnimation alphaAnim = new AlphaAnimation(1f, 0.2f);
alphaAnim.setDuration(500);
animSet.addAnimation(alphaAnim);
// スケール変化のアニメーションを設定
ScaleAnimation scaleAnim = new ScaleAnimation(1,1.1f,1,1.1f, 0, 0);
alphaAnim.setDuration(1000);
animSet.addAnimation(scaleAnim);
// アニメーションを繰り返す回数を設定。指定しない場合は1回のみ。無限に繰り返す場合は‐1
animSet.setInterpolator(new CycleInterpolator(3));
// 準備したImageViewでアニメーションを開始する。
chara[target].imgButton.setAnimation(animSet);

http://halcyonsystemblog.blog.fc2.com/blog-entry-77.html

 

 

●画像の整列(marginの動的変更)

chara[i].imgButton.setMaxWidth(chara[i].width);
chara[i].imgButton.setMaxHeight(chara[i].height);

ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) chara[i].imgButton.getLayoutParams();

lp.width = chara[i].width;
lp.height = chara[i].height;

lp.setMarginStart(x);
lp.topMargin = (int)convDp2Px(200)-lp.height;

x = chara[i].width + x + (int)convDp2Px(8);

参考サイトを無くしてしまったので簡単に解説

①ViewGroup.MarginLayoutParamsでレイアウト情報を取得

②動的に変えたい部分を直接変える

  具体的にはモンスターの大きさをwidth、heightに設定

③lp.setMarginStart(x); とあるけど、lp.leftMargin設定した方が紛れが少ない(多分そのうち治す)

  lp.topMarginと併せて左、上からのマージンを設定

④単位変換:dp→px(前の記事参照)

⑤+ (int)convDp2Px(8); は微調整。詰まってると見た目が暑苦しい&ボタンが押しにくいため

 と併せて

 

●まとめてリスナーを設定する

配列にするといっぺんに設定できました。この辺まだ仕組みがよくわからないけど出来ました。

for(int cnt = 5; cnt<10 ; cnt++ ) {
    final int finalCnt = cnt;
    chara[cnt].imgButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            sel_target = finalCnt;
            CommandAction(finalCnt);
        }
    });
}