約 2,002,020 件
https://w.atwiki.jp/besiegejpwiki/pages/238.html
デフォルトスキン 当たり判定 高さを測定することができるブロック ステータス 基本情報高度測定 使い方高度維持装置 自動戻り高度維持装置 ホバー 高度維持装置としてのセンサーや熱気球との比較 関連項目 ステータス パラメータ名 値 ID 67 通称 - 英語名 Altimeter 質量 0.5 空気抵抗 0.2 回転抵抗 0.05 HP 0 根元強度 22000 頭強度 - 根元曲げ強度 22000 頭曲げ強度 - 静止摩擦係数 0.6 動摩擦係数 0.6 弾性 0 オブジェクト間の摩擦処理 平均 オブジェクト間の衝突処理 平均 破壊属性 負荷 一体化(ウッドパネル) × 一体化(鉄プレート) × 入力キー 初期値 効果 検出 B 高度を検出する 設定 定義域 初期値 説明 キー入力で検出を有効化 TRUE/FALSE FALSE 上述の入力キーを押した場合のみ高度を検知するかどうか キーを離すと中止 TRUE/FALSE TRUE キー入力をトグル化するかどうか「キー入力で検出を有効化」している場合のみ有効 反転 TRUE/FALSE FALSE 出力を反転するかどうかTRUEで特定高度以下の検知、FALSEで特定高度以上の検知を行う 高度 0.5~250~ 設置した位置 検知する高度 基本情報 円形のフレームにゲージと針が取り付けられたブロック。 直方体状の当たり判定を持つ。 オートメーション系ブロックの共通事項についてはAUTOMATIONを参照されたい。 高度測定 このブロックが設定した高度以上の位置に移動すると、キーをエミュレートする。 エミュレートは反転可能。 この高度は絶対座標基準であり、マルチバースやレベルエディタでボックスの位置を変えても反応する高さは同じである。 設定ツールを開くと、設定した高さの位置まで点線が表示され、視覚的にわかりやすくなっている。 基準高度はシミュレーション開始後に変更することができない。 使い方 AUTOMATION全体に言えることだが、キャンペーンでは複雑な操作や精巧さはあまり必要ではないので、高度計を用いることなくクロルマまで攻略できるだろう。 高度の基準がボックス位置からの高さではなく、絶対座標であるという点がとにかくもどかしい。 高度を測定すると言っても、ある高度より高いか低いかしか判別できないという制度の低さも相まって、お世辞にも便利なブロックとは言い難い。 高度維持装置 出力を反転させ、一定高度以下になった場合にマシンを上昇させるような出力を行わせるようにすると、高度を維持することができる。 バニラでは、姿勢によらず上方向に力をかけることができるブロックがバルーンしかなく、バルーンは出力を持たないため、高度維持を行わせるアクチュエータを単体で実現するブロックは存在しない。したがって、出力はフライングブロックやウォーターキャノン(水砲ジェットエンジン)で行い、これらの角度をどうにかして一定に保つ必要がある。 なお、熱気球は単体で高度維持が可能なのみならず、基準高度をシミュレーション中に変更することすら可能であり、高度維持装置としての高度計のニーズは相当奪われたと言える。 自動戻り高度維持装置 構造図鑑の自動戻り角度計スタビライザーのように、高度計の出力で高度計自体の高さを変化させることで、高度維持の出力を滑らかにすることができる。 (画像) ホバー 実際には高度維持ではなく、地形から一定以上の位置にマシンを浮かせたい(ホバー)という場合も多い。 ホバーを高度計で実現しようとする場合、前述の欠点から、高低差が少ない地形にしか対応できない。 実際にはホバーにはセンサーを下に向けて高度維持をした方が良い。 高度維持装置としてのセンサーや熱気球との比較 前述のように、そもそも高度計というブロック自体、センサーを下に向けて地形をセンシングすることで代替可能というシチュエーションが非常に多く、事実センサーよりも使用頻度は圧倒的に少ない。 また、後発の熱気球は半ば高度計を内包しており、存在をかなり食ってしまっている。 とはいえ高度計はセンサーや熱気球の下位互換ではなく、センサーや熱気球でできないことが高度計でできるということもある。 高度計 センサー 熱気球 ブロック数 多 多 1 作成難易度 難 難 易 使い勝手 設置場所は自由絶対座標基準高度変更不可 地形追従が可能高度変更不可地形以外も感知するため設置場所を選ぶ 高度変更が可能オンオフの切り替え不可 関連項目 AUTOMATION センサー 熱気球
https://w.atwiki.jp/mkksoft/pages/12.html
# -*- coding utf-8 -*- #!/usr/bin/python import sys # よむ # @param を探して、 # keywords=[ "param", "return", "note" ] # そのライン内のコメントキーワードを除外する def strip_comment_line(line) #todo return line # 指定したキーワードを含む場合、それを取り除いて文字列にして返す def find_keyword_block_line(line, keyIndex) key = @ + keywords[keyIndex] index = line.find(key) if index != -1 return line[index+6 -1] else key = \\ + keywords[keyIndex] index = line.find(key) if index != -1 return line[index+6 -1] return # ライン内にキーワードが含まれているか? def is_any_keyword_line(line) for num in range(3) ret = find_keyword_block_line(line, num) if ret!= return False return True # 指定したキーワードブロックを得る(最初の) def find_keyword_block(comment, keyIndex, passLine) ret = mode = 0 lno = -1 for line in comment lno += 1 if lno = passLine continue if mode == 0 # 指定したキーワードを探す r = find_keyword_block_line(line, keyIndex) if r != ret += strip_comment_line(r) + \n mode = 1; continue elif mode == 1 # 何らかのキーワードをお持ちの場合はアウト、持ってないなら大丈夫なので丸々使用する. b = is_any_keyword_line(line) if b==True break ret += strip_comment_line(r) + \n return ret,lno+1 # セカンドワードの有無を確認する def is_exist_secondWord(comment, secondWord) ret = comment.split(None,1) if ret[0] == secondWord return ret[1],True return ,False; # 指定したキーワードブロックを得る(最初の) def find_keyword_block_and_secondWord(comment, keyIndex, secondWord) lno = 0 while True ret,lno = find_keyword_block(comment, keyIndex, lno) if ret != ret,b = is_exist_secondWord(ret, secondWord) if b==True return ret,True; else break return ,False # 指定した名前の変数名コメントを探す def find_param_comment_or_default(comment, name, defWord) ret,b = find_keyword_block_and_secondWord(comment, 0, name) if b==False return defWord return ret.strip() # return コメントを得る def find_return_comment_or_default(comment, defWord) ret,b = find_keyword_block(comment, 1, 0) print "[ret] = " + ret if b==False return defWord return ret.strip() # note コメントを得る. 見つからない場合は を返す def find_note_comment_or_default(comment) ret,b = find_keyword_block(comment, 2, 0) if b==False return return ret.strip() # test文字列 gTest = """ /** * Method 3 description * * \param v1 Variable 1 * \param v2 Variable 2 * \return なし * \note いろいろ注意 */ """ # main def test() for line in open( test.h , r ) index = line.find( @param ) if index != -1 lc = line[index+6 -1] tes = lc.strip() print tes # main def test1() for line in gTest.split("\n") print line # main print "@return " + find_return_comment_or_default(gTest, "(note)")
https://w.atwiki.jp/nakamura001/pages/304.html
テキストボックスからのサブミットを防ぐ モバイルSafariで form 内のテキストボックス入力中にキーボードの「Go」ボタンを押すと submit() が 発生してしまう。これを防ぐ方法。 基本的には form タグに onsubmit="return false;" を追加でOKですがこれだとソフトキーボードが 表示されたままに成ってしまうので $( input ).blur(); を追加。 form action="" onsubmit="$( input ).blur(); return false;" /form
https://w.atwiki.jp/ff11windower2/pages/74.html
SpellCastXML 入門用お試し1 スクリプトの概要 スクリプトの実行条件 使い方 XMLダウンロード スクリプト スクリプトの概要 お試し動作確認用(Spellcast入門で紹介のXML) キングズジャスティス発動でワラーラターバンを着用 レイジングラッシュ発動でダッシューズを着用 スクリプトの実行条件 ワラーラターバン、ダッシューズを所持していること 使い方 ダウンロードしてscriptsフォルダに格納。test_jp.xmlのほうはJPIDConvで変換すること。 XMLダウンロード ・JPIDConv変換済み(test.xml)※このまま利用可・JPIDConv未変換(test_jp.xml) スクリプト ?xml version="1.0" encoding="utf-8"? spellcast config Debug="False" HideErrors="False" ShowGearSwaps="False" / sets group name="Default" default="yes" set name="WARARA" head ワラーラターバン /head /set set name="DASH" feet ダッシューズ /feet /set /group /sets rules rule Spell="King s Justice" Action type="equip" when="PreCast" set="WARARA" / /rule rule Spell="Raging Rush" Action type="equip" when="PreCast" set="DASH"/ /rule /rules /spellcast
https://w.atwiki.jp/saihonnyaku_bot/pages/79.html
再翻訳文 (ゴリラ再翻訳村 人間に限りなく近い猫 ゴリラ 1 62) 3-2の内訳は狼真 狼狼狂だと思います。しかしこの場合、それは予定よりもむしろ偶然の事故です。 3 false 2がfalseの場合、非表示にするのは面倒なことではないでしょうか。箱に入れてよろしいですか。 Lola Spiritのオプションは3-2で最高です、そして3-2が予定されているならば、私は幽霊がおかしいと思います。精神はしばしばローラです 翻訳前原文 (原文の記載なし)
https://w.atwiki.jp/suffix/pages/1150.html
var excel = new ActiveXObject("Excel.Application"); var book = excel.Workbooks.open( FileName="C ¥¥temp¥¥temp.xls", UpdateLinks = false, ReadOnly = true); var e = new Enumerator(book.sheets); for(e.moveFirst(); !e.End(); e.moveNext()) { var sheet = e.item(); if(sheet.Name.match(/sheet名/) { Wscript.Echo(sheet.Cells(0,1).Value); } } book.close(false); excel.Quit();
https://w.atwiki.jp/waonserver/pages/27.html
/mvヘルプを表示する。 /mv listワールドリストを表示する。 /mv info現在いるワールドのワールド情報を表示する。 /mv info ワールド名 ワールド名 のワールド情報を表示する。 /mv create 名前 ワールド種類新しいワールドを作成する。ワールド種類はNORMAL・NETHER・ENDから選択できる。 オプションとして -s シード値 -t ワールドタイプ -a true/falseが存在する。 オプションはワールド種類の後に付けることでシード値を指定することなどができます。 ワールドタイプはスーパーフラットのワールドを作成することができます、その場合は、ワールドタイプにFLATを指定してください。 -aをfalseに設定することで村や廃坑などの構造物生成をOFFにすることも可能です。 /mv import ワールド名 ワールド種類ワールドをインポートすることができる、ワールドのフォルダを置く場所はBukkitのjarがある階層。 ワールドフォルダが日本語の場合は読み込めないので変更する必要あり。 /mv reloadconfigの再読み込みを行う。 /mv set spawnワールドのリスポーン地点を設定する。 /mv coord座標を表示する。 /mv tp プレイヤー名 ワールド名ワールドを移動する。 自分を他のワールドに移動させるだけなら、プレイヤー名は不要。 /mv who ワールド名ワールド名にいるユーザーを表示する。 /mv spawn プレイヤー名ワールドのスポーン地点に移動する。 自分をスポーン地点に移動させるだけならプレイヤー名は不要。 /mv unload ワールド名ワールド名のワールドをサーバーからアンロードさせる。 /mv remove ワールド名ワールド名のワールドをサーバー削除する。 /mv delete ワールド名アンロードしたワールドをサーバー削除する。 /mv delete ワールド名アンロードしたワールドをサーバー削除する。 /mv confirm不明 /mv purge WORLD名/all all/animals/monsters/動物・モンスター名指定されたワールドからモンスターや動物を削除する。 例 /mv purge all creeper /mv env有効なワールド種類やワールドタイプを表示する。 /mv sleepプレイヤーが最後に寝たベッドに移動する?。(私の環境では動きませんでした)
https://w.atwiki.jp/flex_framework/pages/20.html
PureMVC、というよりはすべてのロジックの肝となる Model層について記述していきます。 この層で利用されるクラスは以下の通りです。 Proxyクラス ValueObjectクラス このクラスについても既に概要は述べています。 ので、ここではサンプルをあげてみていきましょう。 まずはProxyクラスです。 「CalclationProxy.as」 package example.model { import org.puremvc.interfaces.IProxy; import org.puremvc.patterns.proxy.Proxy; import mx.collections.ArrayCollection; /** * Proxyクラス * 実際の処理の実態をここで記述する */ public class CalclationProxy extends Proxy implements IProxy ・・・・・・・・・・・・・・・・・・・・① { // このクラスのNAMEプロパティの設定。このNAMEでfacade内のインスタンスは管理されるので、 // これはプロジェクトでユニークになること public static const NAME String = "CalclationProxy"; ・・・・・・・・・・・・・・・・・・・・② // プロパティ private var _plusFlg Boolean; private var _minusFlg Boolean; private var _saveData String; /** * コンストラクタ */ public function CalclationProxy() void { // 親クラスのコンストラクタの呼び出し。 // 第1引数は自分を示す文字列のNAMEを、 // 第2引数はプロパティとして保持する型を // new演算子で指定してあげる。 // こうすることで第2引数に指定された型が // dataというプロパティの型が設定される。 super(NAME, new String ); ・・・・・・・・・・・・・・・・・・・③ _plusFlg = false; _minusFlg = false; _saveData = ""; } /** * プロパティ値の取得 */ public function get calcString() String ・・・・・・・・・・・・・・・・・・④ { // dataという型のプロパティをキャストして(ここではStringにして)返却 return data as String; ・・・・・・・・・・・・・・・・・・⑤ } /** * プロパティ値の設定 * 文字列を引数として渡された場合については * 既存の文字列と結合する。 */ public function set calcString(s String) void ・・・・・・・・・・・・・・・・⑥ { if(_plusFlg == true ) { _saveData = calcString; data = s; } else if(_minusFlg == true ) { _saveData = calcString; data = s; } else if( s.length == 0) { data = ""; } else { data += s; } } /** * 文字列をプロパティに設定 */ public function setNumber(s String) void ・・・・・・・・・・・・・・・・・・⑦ { calcString = s; } /** * 計算結果をプロパティに設定 */ public function calcEqual() void ・・・・・・・・・・・・・・・・・⑧ { var result int; if( this._plusFlg == true ) { result = int(this._saveData) + int(calcString) calcString = result.toString(); this._plusFlg = false; this._minusFlg = false; this._saveData = ""; } else if( this._minusFlg == true ) { result = int(this._saveData) - int(calcString) calcString = result.toString(); this._plusFlg = false; this._minusFlg = false; this._saveData = ""; } } /** * 足し算するためのフラグをONにする */ public function plusNumber() void ・・・・・・・・・・・・・・・⑨ { this._plusFlg = true; this._minusFlg = false; } /** * 引き算するためのフラグをONにする */ public function minusNumber() void ・・・・・・・・・・・・・・・⑩ { this._plusFlg = false; this._minusFlg = true; } /** * すべてのクリア */ public function clear() void ・・・・・・・・・・・・・⑪ { calcString = ""; this._saveData = ""; this._plusFlg = false; this._minusFlg = false; } } } ①public class CalclationProxy extends Proxy implements IProxy Proxyクラスの宣言部。 ここではProxyクラスの継承とIProxyインターフェースの実装を宣言しています。 Proxyクラスそのものは振る舞いを持っているわけではありません。 このクラスはビジネスロジックを実装するためのクラスであり、 親クラスであるProxyとインターフェースであるIProxyはFacadeクラスへ登録するためのクラスの型と 捉えることができます。 つまりFacadeクラスにビジネスロジックを登録したい場合にはこのProxyクラスを継承しIProxyのインターフェースを 実装しなければなりません。 ②public static const NAME String = "CalclationProxy" Facadeクラスに登録するための名前をここで定義しています。 ここで定義された名称でFaçadeクラスの中にインスタンスが生成されます。 よって、この名前はアプリケーションの中でユニークになっている必要があります。 ③super(NAME, new String ); Proxyクラスのコンストラクタを呼び出しています。 引数として文字列、オブジェクトの「型」を渡すのですが、 第1引数である文字列は自分のインスタンス名が何であるかを、自分自身が知るために渡すためのもので、 前述の②で指定したものを渡せば良いです。 第2引数はオブジェクトの「型」を渡すといっていますが、ここでいう第2引数はどのような役割を もつのでしょうか。 Proxyクラスはビジネスロジックを実装するためのクラスであることは既に述べました。 このビジネスロジックで必要となるであろう、privateなインスタンス変数(クラス変数ともとれます)の オブジェクトの型をこの第2引数によって決定しています。 このprivateなインスタンス変数は「data」という名称で親クラスであるProxyクラスに定義されており、 この「data」という変数に対して「型」を与えることができるのが第2引数というわけです。 つまりStringを第2引数に渡せば「data」はString型になるし、 Arrayを渡せば「data」はArray型になります。 ④public function get calcString() String 前述にある「data」を取得するメソッドです。 dataとしてそのままアクセッサメソッドを定義してもよかったのですが、 dataはprivateで定義されたものです。 ですので、アクセッサメソッドを用意してあげることでdataへのアクセスが できるように用意しました。 ⑤return data as String; dataをString型として返却しています。 前述の③でdataの型は定義されているのですが、ここでも明示的に型を示すことにより、 暗黙的なキャストをしないようにしています。 ⑥public function set calcString(s String) void dataへ値をセットするアクセッサメソッドです。 ④と同様です。 privateで定義されたdataへの値設定メソッドです。 ⑦public function setNumber(s String) void ビジネスロジックです。 View層で押された「0~9」までの数字ボタンに応じて、インスタンス変数のdata(このロジックでは直接dataにセットするわけではなく アクセッサメソッドを通じてdataにセットしています)に文字列を設定します。 ⑧public function calcEqual() void ビジネスロジックです。 View層で「=」ボタンを押下した際に呼び出すためのメソッドです。 インスタンス変数のplusFlgとminusFlgの判定により、 足し算または引き算をした結果をインスタンス変数のdataに設定しています。 ⑨public function plusNumber() void ビジネスロジックです。 View層で「+」ボタンを押下した際に呼び出すためのメソッドです。 plusFlgをtrueにしてminusFlgをfalseにしています。 ⑩public function minusNumber() void ビジネスロジックです。 View層で「-」ボタンを押下した際に呼び出すためのメソッドです。 minusFlgをtrueにしてplusFlgをfalseにしています。 ⑪public function clear() void ビジネスロジックです。 View層で「C」ボタンを押下した際に呼び出すためのメソッドです。 インスタンス変数のdataとplusFlg、minusFlgを初期化しています。 次にValueObjectクラスです。 といっても、解説するほどのものではありませんが、とりあえず。 「CalclationVO.as」 package example.model.vo { /** * 計算結果等を保持するVOクラス */ [Bindable] ・・・・・・・・・・・・・・・・・・・・・・・① public class CalclationVO ・・・・・・・・・・・・・・・・・・・・・・・② { // プロパティ private var _calcString String; ・・・・・・・・・・・・③ /** * コンストラクタ */ public function CalclationVO() void ・・・・・・・・・・・④ { this._calcString = ""; } /** * GETTER */ public function get calcString() String ・・・・・・・・・・・・・・・・・・⑤ { return this._calcString; } /** * SETTER */ public function set calcString(s String) void ・・・・・・・・・・⑥ { this._calcString = s; } } } ①[Bindable] Bindable宣言です。 このクラスはView層で表現する値(ここで言えば計算機のボタンを押したときの文字の表示)を保持するため、 クラス全体をバインディングします。 ②public class CalclationVO クラス名です。 ValueObjectクラスとわかりやすくするためにクラス名+VOとしています。 Cairngormの場合、ValueObjectインターフェースを実装していましたが、 PureMVCの場合には実装する必要はなくただのクラスとして定義します。 ③private var _calcString String インスタンス変数です。 ④public function CalclationVO() void コンストラクタです。 この中でインスタンス変数を初期化しています。 ⑤public function get calcString() String ゲッターメソッドです。 インスタンス変数の値を返却します。 ⑥public function set calcString(s String) void セッターメソッドです。 インスタンス変数に値を設定します。 Model層はここまでです。 ここもまたFlexのCairngormと違うことがわかります。 Cairngormを元としているPureMVCですが、基本的には別ものですので、 注意が必要です。 Model層といってもView層と交錯するVOクラスがいますが、 VOクラス自体のインスタンスはView層が持っていますので、 厳密に言えば、View層の値を表現するVOクラスはView層に属するといえるかもしれませんが、 VOにアクセスするクラスがProxyクラスであり、そのProxyクラスはModel層なので、 ここに分類しました。 次はいよいよView層です。
https://w.atwiki.jp/seidee5/pages/27.html
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.text.NumberFormat; import org.jfree.chart.*; import org.jfree.data.general.DefaultPieDataset; import org.jfree.chart.labels.StandardPieSectionLabelGenerator; import org.jfree.chart.plot.PiePlot; public class PieChart extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { response.setContentType("image/png"); OutputStream out = response.getOutputStream(); try{ //グラフ作成 JFreeChart chart = createChart(); //PNGで書き出す ChartUtilities.writeChartAsPNG(out,chart,300,300); } catch (Exception e) { System.out.println(e.toString()); }finally { out.close(); } } private JFreeChart createChart() { //データセット DefaultPieDataset data = new DefaultPieDataset(); data.setValue("XXXXX", 70); data.setValue("YYYYY", 30); //グラフ作成 JFreeChart chart = ChartFactory.createPieChart( "タイトル", // タイトル data, // データ true, // 凡例 false, // ツールチップ false // URL ); //プロットの取得 PiePlot plot = (PiePlot)chart.getPlot(); //パーセント表示 plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} = {1} ({2})", NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance())); return chart; } }
https://w.atwiki.jp/vslibrary/pages/60.html
値が変更されたかどうか判定する MaskedTextBoxにもModifiedプロパティが存在するので値が変更されたかどうかはModifiedで判断できるはずであるが、Maskプロパティが設定されていると値が変更されてもModifiedはFalseのまま変わらない… MaskedTextBoxを使うからにはMaskプロパティは設定するはずなので、事実上Modifiedは使えません… (VB.Net2005で上記現象を確認。VB.Net2008では直っているのだろうか?) よってMaskedTextBoxで手入力で値を変更したかどうかを判断するにはKeyDownイベントとTextChangeイベントで無理矢理実装する。 例)マスクドテキストボックスの値が手入力で変更されていたらメッセージを表示する Private _Modified As Boolean = False フラグを定義 KeyDownイベントでフラグを変更 Private Sub MaskedTextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MaskedTextBox1.KeyDown _Modified = True 何か入力されたらフラグをTrueにする End Sub TextChangedで値が変更されたかどうか判定する Private Sub MaskedTextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.TextChanged If _Modified = True Then Messagebox.Show("変更済み") _Modified = False フラグを元に戻す End If End Sub .