[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
// @Main.as
import mx.controls.*;
import flash.display.*;
import flash.events.*;
import flash.ui.Keyboard;
import DistortImage;
[SWF (backgroundColor = "#FFFFFF", width = "640", height = "480", frameRate = "12")]
[Embed(source = 'assets/testimg.jpg')]
private var myImg:Class;
private var bmp:Bitmap = new myImg();
private var shape:Shape = new Shape();
private var di:DistortImage = new DistortImage(320, 240, 2, 2);
public function Init():void
{
stage.addChild(shape);
// ついでにフルスクリーンモードのテストも兼ねておこう。
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
}
private function keyDown(evt:KeyboardEvent):void
{
switch (evt.keyCode)
{
case Keyboard.ENTER:
stage.displayState = StageDisplayState.FULL_SCREEN
break;
}
}
private function onEnterFrame():void
{
shape.graphics.clear();
shape.graphics.lineStyle(1, 0xEEEEEE, 0.3);
// setTransform を使って四頂点を point で指定するだけで変形できる
di.setTransform(shape.graphics,
bmp.bitmapData,
// 上から左上、右上、右下、左下の順
getObjectCenter(tl),
getObjectCenter(tr),
getObjectCenter(br),
getObjectCenter(bl)
);
}
private function getObjectCenter(btn:DisplayObject):Point
{
// 各ボタン(ドラッグポイント)の中心を求めて point を返す関数
var center:Point = new Point()
center.x = btn.x + btn.width / 2;
center.y = btn.y + btn.height / 2;
return center
}
<?xml version="1.0" encoding="utf-8"?> <!-- @DistortImageTest.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" applicationComplete="Init()" enterFrame="onEnterFrame()" layout="absolute"> <mx:Script source="Main.as" /> <mx:Button id="tl" x="20" y="20" width="24" height="24" buttonMode="true" mouseDown="tl.startDrag()" mouseUp="tl.stopDrag()" /> <mx:Button id="tr" x="340" y="20" width="24" height="24" buttonMode="true" mouseDown="tr.startDrag()" mouseUp="tr.stopDrag()" /> <mx:Button id="bl" x="20" y="260" width="24" height="24" buttonMode="true" mouseDown="bl.startDrag()" mouseUp="bl.stopDrag()" /> <mx:Button id="br" x="340" y="260" width="24" height="24" buttonMode="true" mouseDown="br.startDrag()" mouseUp="br.stopDrag()" /> </mx:Application>
・必要なもの:
var dist:bitmapData = new bitmmapData(100, 100);
var rect:Rectangle = new Rectangle(0, 0, dist.width, dist.height);
var pt:Point = new Point(0, 0);
dist.threshold(dist, rect, pt, "<=",0xAARRGGBB ,0xAARRGGBB , 0xAARRGGBB , false);
| 定数 | 文字 | 効果 |
|---|---|---|
| StageQuality.LOW | "low" | 画質低 |
| StageQuality.MEDIUM | "medium" | 画質中 |
| StageQuality.HIGH | "high" | 画質高 |
| StageQuality.BEST | "best" | 画質最高 |
| なし | "autolow" | 画質低→高 |
| なし | "autohigh" | 画質高→低 |
stage.quality = StageQuality.BEST; stage.quality = "best";
| 定数 | 文字 | 効果 |
|---|---|---|
| StageScaleMode.EXACT_FIT | "exactFit" | 縦横比を変えてフィット |
| StageScaleMode.NO_BORDER | "noBorder" | 縦横比を変えずにフィット |
| StageScaleMode.NO_SCALE | "noScale" | 100% 表示 |
| StageScaleMode.SHOW_ALL | "showAll" | すべて表示 |
stage.scaleMode = StageScaleMode.NO_SCALE;
| プロパティ | 効果 |
|---|---|
| StageDisplayState.FULL_SCREEN | フルスクリーンモード |
| StageDisplayState.NORMAL | 通常(ウィンドウ)モード |
stage.displayState = StageDisplayState.FULL_SCREEN stage.displayState = StageDisplayState.NORMAL[AS3 Ref] Stage
// 埋込み記述 [Embed(source = "/assets/Arial.ttf", fontName = "Arial", mimeType = 'application/x-font', flashType = 'true' )] var Font_Arial:Class; var myText:TextField = new TextField(); // 埋め込みフォントを有効にする。 myText.text = "test" myText.embedFonts = true; addChild(myText); // 書式のインスタンスを作って、myTextにセットする。 var format:TextFormat = new TextFormat; format.font = "Arial"; myText.setTextFormat(format);
タッチパッドのボタンの片方だけ「カチッ」ってクリック感がないので、修理できないか、
あと、メモリの増設が出来ないか見てみるつもりで分解してみた。
もし、分解・改造を考えている人がいたら、参考になれば、と写真も掲載。
まずは裏のネジをはずしていく。ちなみに色は同じ大きさのネジです。
本体の後ろのヒンジ部分にもあるのではずします。また、ドライブのベゼルに隠れて二本あります。
ベゼルは三つのツメで固定されているので、ドライブ裏の金属カヴァーを外して、ツメを外します。
ベゼルを外したら金属カヴァーを付け直しておきましょう。
ネジを外したら、ドライブ側から裏蓋を持ち上げて外します。
メモリは標準DDR 512MBなので、512MBが一枚、空スロットが一つでした。
最大メモリ容量がわからないので、どこまで増やせるかわかりませんが、1GBくらいには出来るでしょう。
赤く囲った部分のツメを外すことでキーボードが外れます。
ツメを外した後に配線を外すために、一度表にして、キーボードを持ち上げ、配線を外します。
基盤のネジを外していきます。ヒンジ部に無線LAN、ディスプレイ、スイッチの配線があるので、それも外しましょう。
チップセットの前の二つのスイッチがタッチパッドのボタンです。
基盤に半田付けされていて、近くにはコンデンサなどがぎっしり。
赤く囲った部分はタッチパッド、キーボードの配線です。
コレに気がつかずに基盤を持ち上げたため、無理やり抜く結果となってしまいました。
幸い大丈夫でしたが、キーボード->タッチパッド->基盤 の順にやるべきです。
と、まぁ。こんな感じなわけですが。 結局このあと何もせずに元に戻しました。
換えの部品もメモリも用意していたわけでもないので何も出来なかったから。
ただいたずらに分解したかった衝動でやってみました。
でも、クリック感に違和感があるのも事実だし、メモリも増やしたいんだけど、
秋葉原に行く機会も無いしなぁ。メモリも意外に高い。
512MBでも5000円強はするのね…。DDR2だったらよかったのに。
急ぎではないからメモリが安くなったら増設しよう。そうしよう。
その後、メモリーだけ増設。計1GBとなりました。
それほど体感的に変化は無いけど、Firefoxがちょっと重かったのが改善されたかな。
package パッケージ名{
public クラス名{
// クラスのプロパティ
public static var 変数名:タイプ;
public static const 定数名:タイプ;
// クラスのメソッド
public static function メソッド名():タイプ{
// ステートメント
};
// コンストラクタ
public function クラス名() {
// ステートメント
}
// インスタンスのプロパティ
public static var 変数名:タイプ;
public static const 定数名:タイプ;
// インスタンスのメソッド
public static function メソッド名():タイプ{
// ステートメント
};
}
}
クラスは