スズメバチ
- 2010年 7月22日
- 投稿者 : admin
投稿者アーカイブ

DMM.TV for Blu-ray Discに申し込み、約3日で自宅にDiscが届いた。
DMM.TV for Blu-ray Discを簡単に説明すると
1.ネットにつなぎ
2.ディスクを入れて
3.テレビで選択
という3ステップで映画などを視聴できてしまう魔法のディスクです。
(正確にはそれ以外に会員登録が必要です)
早速PS3にディスクを入れて起動。
ますはサンプル映像が再生されるか確認。
無事再生されたので、クレジット情報など入力し会員登録した。
とりあえずLOSTを購入、ストリーミング再生。
LOSTの場合料金は210円/1話で2日間視聴が可能なようでした。
泊数やお店によって料金が違う為単純に比較できないが、TSUTAYAでレンタルした場合よりも割高かもしれません。
不満点は
1.GUI
2.コンテンツ数
GUIに関してはPS3というよりリモコンによる操作をベースとしている為なのか、目的のコンテンツにたどりつくのが少し面倒に感じた。
利点は
1.見たい時にすぐに見れる
2.返却不要
以上の事を考えるととても便利と思いました。
私みたいに不規則な時間の仕事している人にもお勧めしたいです。
DMM.TV for Blu-ray Discは無料で配布しているので是非試して頂きたいと思います。
DMM.TV for Blu-ray Discについて詳しくは http://www.dmm.com/tv/bluray/をご覧下さい。
クランHYN様が主催するプライベートマッチの大会に参加しました。
ルールは簡単に説明するとインターベンションとナイフのみのFFA。
皆上手で私は最下位に近い成績でしたが楽しい大会でした。
http://62.xmbs.jp/AMUYH-241864-ch.php?guid=on
先週土曜日に中目黒の焼肉チャンピオンに行きました。
お腹があまり空いてなかったのですが、どれもおいしく食べ過ぎてしまった。
また行きたいと思います。


焼肉チャンピオンのホームページはこちら http://www.ebisu-champion.com/
actionscript 3.0のテキストフィールドの入力で文字数でなく半角、全角で文字数制限したいという事で作りました。重要なのはByteArray.writeMultiByte(value:String, charSet:String)だけで、charSetを”shift-jis”にすると(確証はないが)半角と全角を判別できるみたい。私はFlashのIDE上に配置されたオブジェクトでなるべく解決したいのでProxyクラスを継承するやり方で実装しました。なのでTextFieldクラスを継承してnewでインスタンスを作ってステージ上に配置してやった方がスマートだとは思います。内部でイベントも持ってしまっているのであまり良いやり方ではないのも分かっていますがやりたい事は実現できているので一応クラス載せます。
※.maxCharsと同様スクリプトでの文字数などの制限はしていません。テキスト入力があった時のみの制御しかしていません。
TextFieldProxyクラス
package {
import flash.utils.Proxy;
import flash.utils.flash_proxy;
import flash.text.TextField;
import flash.utils.ByteArray;
import flash.events.Event;
import flash.events.TextEvent;
public dynamic class TextFieldProxy extends Proxy {
private const _charset:String = "shift-jis";
private var _textField:TextField;
private var _maxBytes:uint;
private var _oldCaretIndex:uint;
private var _oldText:String;
public function set maxBytes(value:uint):void {
_maxBytes = value;
_textField.addEventListener(TextEvent.TEXT_INPUT, onInput);
_textField.addEventListener(Event.CHANGE, onChange);
}
public function get maxBytes():uint {
return _maxBytes;
}
public function get bytes():uint {
var byteArray:ByteArray = new ByteArray();
byteArray.writeMultiByte(_textField.text, _charset);
var length:uint = byteArray.length;
byteArray.clear();
return length;
}
public function TextFieldProxy(textField:TextField) {
_textField = textField;
}
override flash_proxy function callProperty(methodName:*, ... args):* {
return _textField[methodName].apply(_textField, args);
}
override flash_proxy function getProperty(name:*):* {
return _textField[name];
}
override flash_proxy function setProperty(name:*, value:*):void {
_textField[name] = value;
}
public function onInput(event:TextEvent):void {
(event.target as TextField).replaceSelectedText("");
_oldText = (event.target as TextField).text;
_oldCaretIndex = (event.target as TextField).caretIndex;
}
public function onChange(event:Event):void {
var newText:String = (event.target as TextField).text;
var newByteArray:ByteArray = new ByteArray();
newByteArray.writeMultiByte(newText, _charset);
if(newByteArray.length > _maxBytes) {
var addStr:String = newText.substr(_oldCaretIndex, newText.length - _oldText.length);
var addByteArray:ByteArray = new ByteArray();
addByteArray.writeMultiByte(addStr, _charset);
addByteArray.position = 0;
addStr = addByteArray.readMultiByte(_maxBytes - (newByteArray.length - addByteArray.length), _charset);
(event.target as TextField).text = _oldText.slice(0, _oldCaretIndex) + addStr + _oldText.slice(_oldCaretIndex, _oldText.length);
_oldCaretIndex += addStr.length;
if(!(event.target as TextField).multiline) {
(event.target as TextField).setSelection(0, 0);
}
(event.target as TextField).setSelection(_oldCaretIndex, _oldCaretIndex);
addByteArray.clear();
}
newByteArray.clear();
}
}
}
実装
//TextField txt1;
//TextField label1;
//TextField txt2;
//TextField label2;
txt1.text = "";
txt1.background = true;
txt1.backgroundColor = 0xF2F2F2;
txt2.text = "";
txt2.background = true;
txt2.backgroundColor = 0xF2F2F2;
var txtProxy1:TextFieldProxy = new TextFieldProxy(txt1);
txtProxy1.maxBytes = 10;
txtProxy1.addEventListener(Event.CHANGE, onChange);
label1.text = txtProxy1.bytes + "/" + txtProxy1.maxBytes;
var txtProxy2:TextFieldProxy = new TextFieldProxy(txt2);
txtProxy2.maxBytes = 30;
txtProxy2.addEventListener(Event.CHANGE, onChange);
label2.text = txtProxy2.bytes + "/" + txtProxy2.maxBytes;
function onChange(event:Event):void {
switch(event.target) {
case txt1:
label1.text = txtProxy1.bytes + "/" + txtProxy1.maxBytes;
break;
case txt2:
label2.text = txtProxy2.bytes + "/" + txtProxy2.maxBytes;
break;
}
}
サンプル
Objective-Cをはじめたので、忘れないうちにここに覚え書き。
ActionScriptは仕事で一番良く触れる言語なので、それと比較しながら書いていこうかと思います。
少しずつ、気長にやっていこうかと思う。
ますは開発環境。
WindowsでもObjective-Cコンパイルできる環境にしたい。
と言う事でインターネット検索したところ良い記事がありました。
長いものに巻かれて行こうぜ! 1巻き目を参考に環境を構築した。
環境が整った所でエディタを開き、開発を開始した。
以下ActionScriptとObjective-Cの比較です。
そして記事の後半で理解した範囲内での簡単なプログラムの作成と総括を書きました。
trace("Hello");
Objective-Cprintf("Hello");
trace("Hello");
Objective-Cprintf("Hello");
var obj:*;Objective-C
id obj;
package {
public interface TestInterface {
function test():void;
}
}
ActionScript 3.0 TestClass.aspackage {
public class TestClass implements TestInterface {
public function test():void {
trace("Hello");
}
}
}
Objective-C//@interface クラス名:スーパークラス
@interface TestClass:Object
//- (戻り値の型) メソッド名
- (void) test;
@end
//@implementation クラス名
@implementation TestClass
// (戻り値の型) メソッド名
- (void) test {
printf("Hello");
}
@end
var obj:TestClass = new TestClass();Objective-C
id obj = [TestClass alloc];
obj.test();Objective-C
[obj test];
package {
import flash.display.MovieClip;
public class Main extends MovieClip {
public function Main():void {
}
}
}
Objective-C (引数なし、戻り値なし)main() {
}
Objective-C (引数あり、戻り値あり)int main(int argc, char *argv[]) {
return 0;
}
#import <objc/Object.h>
@interface TestClass:Object
- (void) test;
@end
@implementation TestClass
- (void) test {
printf("Hello");
}
@end
main() {
id obj = [TestClass alloc];
[obj test];
}
#import <Foundation/Foundation.h>
/*
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSLog(@"Hello, World!");
[pool drain];
return 0;
}
*/
@interface TestClass:NSObject {
}
-test;
@end
@implementation TestClass
-test {
NSLog(@"Hello World!");
return 0;
}
@end
int main(int argc, char *argv[]) {
id obj;
obj = [[TestClass alloc] init];
[obj test];
return 0;
}
修正内容は以下の通り。
このような画面が出てくるので、「.m」の拡張子になっているファイルを選択。

#import <Foundation/Foundation.h>
@interface TestClass:NSObject {
}
-(void)myTest;
@end
@implementation TestClass
-(void)myTest {
NSLog(@"Hello World!");
}
@end
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
id obj;
obj = [[TestClass alloc] init];
[obj myTest];
[pool drain];
return 0;
}
Mac版SlingPlayerをインストールした。
そしてBoot CampでWindowsにSlingPlayerをインストールした。
SlingPlayer(ローカル版)は以下からダウンロードできます。
windows版 : http://downloads.slingmedia.com/get/sp-win-ca.html
Mac版 : http://downloads.slingmedia.com/get/sp-mac-us.html
SlingPlaer(WEB版)はWindows、Macともに以下からログイン&視聴できます。
http://watch.slingbox.com/
SlingPlayer Macのローカル版インストール最中に以下のメッセージ警告が表示された。
Currently, SlingPlayer for Mac does not support HD streaming. You will be able to watch video from your Slingbox PRO-HD in standard definition.現状Mac版SlingPlayerではHDストリーミングできないようです。(画像)
以下は各SlingPlayerのエンコーディングの最大値。
○SlingPlaye for Mac(ローカル版)
ビデオビットレート:8000kbps
ビデオフレーム:フルレート
オーディオビットレート:96kbps
ビデオ解像度:640×480
○SlingPlayer for Windows(ローカル版)
ビデオビットレート:20000kbps
ビデオフレーム:フルレート
オーディオビットレート:96kbps
ビデオ解像度:1920×540
Windows版の方が綺麗でした。
以下インストール行程のスクリーンショットです。
1〜23 :SlingPlayer for Mac(ローカル版)
24〜33 : SlingPlayer for Mac(Web版)
Slingbox pro-HDを今更ながら購入した。
この製品を簡単に説明するとテレビ、録画したコンテンツ等をネットワーク経由で見れるというもの。
この製品で特に良いと思った点は以下の3点。
PS3版モダン・ウォーフェア2(以下MW2)のSPマップパックがプレイステーションネットワークW(以下PSN)で配信されていた。PSNでモダンと検索したらヒットすると思う。導入方法はPSNで購入(\1,400)してダウンロード&インストール。そしてMW2起動したら追加マップが使用可能な状態になっていた。追加マップについては以下の通り。
複雑な立体構造のアパート「Bailout」、作業機械が放置されたままの工業団地跡「Storm」、瓦礫や車の残骸が積まれた廃棄場「Salvage」という新たな3つのマップに加え、前作『コール オブ デューティ4 モダン・ウォーフェア』のマルチプレイヤーでおなじみのマップである、戦火の傷跡が生々しい市街エリア「クラッシュ(Crash)」、植物の生いしげる広大な農村地帯「草生す廃墟(Overgrown)」の2つを収録しています。
PlayStation 3版”コール オブ デューティ モダン・ウォーフェア2 SPマップパック”本日発売! – SQUARE ENIX EXTREME EDGESより
クラッシュとオーバーグロウンは懐かしい感じがした。他は無駄にクリアリングしたり、行き止まりでつまづいたり。。。このゲームやりだすと2時間とかあっという間に過ぎてしまう。とりあえず、少しずつマップを覚えていこうと思う。
![]() |
コール オブ デューティ モダン・ウォーフェア2 |
| レビューを見る | |
| 欲しいものリストに追加 | |
| 価格:5990円 在庫あり。powered by Amazon.co.jp |
テーマをインストールした。WordPress テーマ neutral (beta)がベータ版ではあるが良い感じ。その他にも以下のテーマはお気に入り。
![]() |
WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる! |
| レビューを見る | |
| 欲しいものリストに追加 | |
| 在庫なしpowered by Amazon.co.jp |
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| « 7月 | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | |||