アカウントは必要ありません。リストから Data APIを探します。データ形式JSON(JavaScript Object Notation)です。
API を使用してやり取りできる各種リソースです。 別ドメインからのアクセスではJSONP形式を選び、取得する側に callback関数(例ではgetJSON関数とする)を実装してください。
| リソースの種類 | 説明 | レスポンスヘッダ |
|---|---|---|
| frames - json | api/frames.json | application/json; charset=UTF-8 |
| frames - jsonp | api/frames.json?callback=getJSON | application/javascript; charset=UTF-8 |
POST method でリクエストを送信してください。その他のリクエスト形式では Method Not Allowed をリターンして失敗します。
frames.jsonが受理するパラメタの一覧です。
| パラメタの種類 | 説明 | 詳細 |
|---|---|---|
| t | キャラクターの指定。必須。 | 1~44: Abel~Rolentoまで。 |
| v | バージョンの指定。任意。 | 4: ウルトラストリートファイターIV Ver1.05, 5: ウルトラストリートファイターIV OMEGA。 |
URL: https://sf4.sakura.ne.jp/note/api/frames.json?t=1&v=4 (実装サンプルを元に、適宜POSTに変換してください)
説明: ウルトラストリートファイターIV Ver1.05 Abel のフレームデータを返します。
API レスポンス:
[
{
"Frame": {
"id": "3399",
"sort": "3399",
"char_id": "1",
"unity": "3399",
"ver": "4",
"name": "\u8fd1\u5f31P",
"name_eng": "Close LP",
"nickname": "\u8fd1\u5f31P",
"nickname_eng": "Close Jab",
"is_chain": "0",
"chains": "",
"hit_level": "HL",
"damage": "25*15",
"damage_int": "40",
"shave": "0",
"hits": "2",
"stun": "30*20",
"stun_int": "50",
"gain": "20*20",
"gain_int": "40",
"cancel": "ch\/sp\/su*su",
"is_light": "1",
"startup": "4",
"startup_int": "4",
"active": "3(8)3",
"active_int": "14",
"recovery": "11",
"recovery_int": "11",
"total": "28",
"on_guard": "-3",
"on_guard_int": "-3",
"on_hit": "0",
"on_hit_int": "0",
"block_stun": "11",
"hit_stun": "14",
"full_invincible": "-",
"strike_invincible": "-",
"projectile_invincible": "-",
"throw_invincible": "-",
"airborne": "-",
"invi_start": "0",
"invi_end": "0",
"body": "",
"body_eng": "",
"move": "no",
"na_reversal": "0",
"na_combo": "0",
"is_custom": "0",
"is_old": "0",
"is_invincible": "0",
"ex_fa_fd_on_block": "",
"ex_fa_fd_on_hit": "",
"user_id": "1",
"modified": "2014-09-30 16:44:05"
},
"Char": {
"id": "1",
"sort": "20",
"name": "\u30a2\u30d9\u30eb",
"name_eng": "Abel",
"name_group": "\u3042",
"version": "4",
"user_count": "0",
"topic_count": "2"
}
}
]
補足:
unity 異なるバージョン間で同一の技を識別するためのキー
ver バージョン指定
is_chain 派生技かどうか
chains どの技に派生するか(複数)
damage_int damageの合計値
shave 削り値
is_light 弱攻撃(連キャン判定用)
invi_start 物理無敵の開始f
move 技の分類
na_reversal reversalのリスト含めない(NA=該当しない)
na_combo comboのリストに含めない(NA=該当しない)
is_custom 権限なく編集可能
is_old 古いデータ
is_invincible 無敵一覧に表示する
一例です。
jquery
$.ajax({
type: 'POST',
url: 'https://sf4.sakura.ne.jp/note/api/frames.json',
datatype: 'jsonp',
data: {
"t": 1,
"v": 4,
},
success: function(json) {
$.each(json, function(idx, obj) {
console.log(obj.Frame.name);
});
}
});
php
$url = "https://sf4.sakura.ne.jp/note/api/frames.json";
$data = http_build_query(array("t" => 1, "v" => 4));
$header = array(
"Content-Type: application/x-www-form-urlencoded",
"Content-Length: " . strlen($data)
);
$options = array("http" =>
array(
"method" => "POST",
"header" => implode("\r\n", $header),
"content" => $data
)
);
$json = file_get_contents($url, false, stream_context_create($options));
$frames = json_decode($json);
var_dump($frames);
Street Fighter IV Note. By Joro.