[WP]no.010 TonyuSystem-オブジェクト選択

手抜き
30分ぐらいで作成。

戦略ストラテジー作ろうかなと考えてただけ。

ドラッグするとEntityクラスのオブジェクトを選択できます。
Manager.tonyu

extends SecretChar;

$minSelectRectSize = 4;
mdown=0;
selected = new Array();
selected.clear();
while(1){
// 手抜きグリッド描画
for (v=trunc($viewY/300)*300;v<$screenHeight+$viewY;v+=300)
for (u=trunc($viewX/300)*300;u<$screenWidth+$viewX;u+=300)
drawText(u,v,"("+u+","+v+")",$clWhite,10,-10);

// スクロール操作
if ($mouseX < 60) $map.scrollTo($viewX-3,$viewY);
if ($mouseX > $screenWidth-60) $map.scrollTo($viewX+3,$viewY);
if ($mouseY < 60) $map.scrollTo($viewX,$viewY-3);
if ($mouseY > $screenHeight-60) $map.scrollTo($viewX,$viewY+3);

if (getkey(1)==1){
mdownx=$mouseX+$viewX;
mdowny=$mouseY+$viewY;
mdown=1;
}else if (getkey(1) > 1){
drawRect(mdownx,mdowny,$mousex+$viewX,$mousey+$viewY,$clYellow,-20);
}
if (mdown==1 && getkey(1)==0){
mdown=0;
selected.clear();
mx=$mouseX;my=$mouseY;
if (mx < mdownx){t=mx;mx=mdownx;mdownx=t;}
if (my < mdowny){t=my;my=mdowny;mdowny=t;}
for (t in $chars){
if (t is Entity){
if (mdownx < t.x+10 && mdowny < t.y+10 &&
t.x-10 < mx && t.y-10 < my){
selected.add(t);
}
}
}
}
// 表示
for (t in selected){
drawrect(t.x-10,t.y-10,t.x+10,t.y+10,$clRed,-5);
}

update();
}



Entity.tonyuは省略。update回すだけです。

グリッド描画の方がややこしい気がします
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

tag : TonyuSystem

コメントの投稿

非公開コメント

プロフィール

舞葉(ぶよう)

Author:舞葉(ぶよう)
github.io
はてなブログ(競プロ)

古い記事のソースコードは色分けしていないので、高機能テキストエディタに貼り付けたほうが見やすいかも。

検索フォーム
このブログについて
自分がつまづいた話題、なんとなく書きたいと思ったこと、ググったけど殆ど資料なかったぞオイ な話等をアップする予定。通りすがりでも、参考になっていただければと。プログラムの例外入力、メモリリークは責任負いません。投稿された記事は修正・削除する場合があります。
カテゴリ
タグ

HSP3アルゴリズムとデータ構造c++RubyJavaUnity画像解析C機械学習C#LinuxcodeIQKinectMinecraftTonyuSystemraspberrypiPythonHTML5音声制御Simulinkruby俺ルール通信制御Javascriptシミュレーション

counter-shinobi
固定記事
最新記事
最新コメント
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

アクセスランキング
[ジャンルランキング]
コンピュータ
1253位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
219位
アクセスランキングを見る>>