Ocean 學習筆記
Flex,Flash,ActionScript3.0 , HTML5 、Javascript、前端技術、Java。
2010年4月18日 星期日
拖曳基礎原理,AS3
顯示元件拖曳基礎原理
Fundamentals of Drag for DisplayObject.
基本觀念:
會使用mouseDown、mouseMove、mouseUp,三個事件。
mouseDown時記錄住滑鼠在Stage上的座標,並加入mouseMove與mouseUp事件偵聽。
當mouseMove時使用新的滑鼠座標減去mouseDown時座標求得offset。
將拖曳對像的座標+offset。
mouseUp發生時移除mouseMove,與mouseUp事件偵聽。
以FB4來撰寫範例:
example:
閱讀更多 »
深入淺出SQL閱讀整理一
第一章 資料與表
關聯式資料庫管理系統(relational database management system , RDBMS)。
資料庫(database , DB):存有資料表與其他相關SQL結構的容器。
資料表(table) :由資料欄與資料列構成。
資料欄(column) : 儲存資料表理的
一塊
資,常以field表之。"垂直方向"
資料列(row) :
一組
能形容某項事務的欄位集合,常以record表之。"水平方向"
建立資料庫
[command] [target];
CREATE DATABASE
yourDataBaseName
;
example:
CREATE DATABASE my_friend_db;
SQL資料庫或資料表的名稱,
不可出現空格
,請以底線代替空格。
指令敘述以;號結尾。
SQL本身不區分大小寫,但指令大寫是優良的設計慣例,某些資料庫要求關鍵字大寫。
使用資料庫
USE
yourDataBaseName;
example:
USE my_friend_db;
建立資料表
CREATE TABLE
yourTableName
(
columnNameN dataType ,
.
.
columnName(N+1) dataType
);
example:
CREATE TABLE my_friend_list;
(
last_name VARCHAR(20),
first_name VARCHAR(20),
email VARCHAR(50),
birthday DATE,
profession VARCHAR(50)
);
若不想欄位接受null,則在DataType後面加上
NOT NULL
即可,例 last_name VARCHAR(20) NOT NULL。
若是想要有預設值 DEFAULT
yourValue
。
檢視資料表
DESC
yourTabelName;
example:
DESC my_friend_list;
查詢結果
資料表中加入資料
INSERT INTO yourTableName
(
columnName1 dataType , columnName2 dataType, .....
)
VALUES
(
value1 , value2,......
);
example:
INSERT INTO my_friend_list
(
last_name , first_name , email , birthday , profession
)
VALUES
(
'Tsai', 'Jeffrey',
'jeffrey@gmail.com
, '1978-11-20', 'Programmers'
);
在VALUES中若是對應欄位的dataType是屬於字元、文字、日期都必需使用'單引號。
資料欄順序必須對應值得順序。
INSERT INTO敘述可以不依Table理的欄位順序打入,但記得值順序需要對應欄。
可以省略資料欄名稱列表,但資料值必須全部填入,而且資料值順序必須與Table裡完全一樣。
資料格式(DataType)
CHAR或CHARACTER:字元,嚴謹須先設定好長度。
VARCHAR:儲存文字,最大255字元,很有彈性,會配合資料長度調整大小。
DEC或
DECIMAL:小數。
DATETIME或TIMESTAMP:紀錄日期與時刻。
DATE:只記錄日期。
INT或
INTEGER:整數。
BLOB:紀錄大量文字資料。
查詢資料表內容
SELECT * FROM
yourTableName
;
example:
SELECT * FROM my_friend_list;
*字號代表選擇每個欄位。
刪除資料表
DROP TABLE yourTableName;
example:
DROP TABLE my_friend_list;
刪除前務必注意與小心,避免刪錯。
指令彙整:
建立資料庫
CREATE DATABASE yourDataBaseName;
使用資料庫
USE yourDataBaseName;
建立資料表
CREATE TABLE yourTableName
( columnName1 dataType , columnName2 dataType .......);
檢視資料表
DESC yourTabelName;
資料表中加入資料
INSERT INTO yourTableName
( columnName1 dataType , columnName2 dat
aType, .....)
VALUES
( value1 , value2,......);
查詢資料表內容
SELECT * FROM yourTableName;
刪除資料表
DROP TABLE yourTableName;
2010年2月24日 星期三
Flash的Label於Flex使用
因專案關係,需將flash繪製之swf給予Flex使用,Flex使用反射機制將swf內之元件反射出Class使用,但該元件使用到flash之Label,flash之Label使用fl.controls.Label,而Flex之Label是屬於mx.controls,兩者不相同,無法用來轉型操作。
可以使用一個非正規的偷懶方如下:
假設有一變數flashLabel型態為DisplayObject並且以參照了flash的Label
那麼可以非正規使用
if( (flashLabel as Object).hasOwnProperty("text"))
(flashLabel as Object).text = "SJ";
那麼我想因該是可以使用反射機制來取得Class來操作吧!有空再來試驗一下!
localToGlobal in Flex
localToGlobal空間座標轉換
<?xml version="1.0" encoding="utf-8"?>
<mx:Application applicationComplete="init();" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function init():void
{
trace("x="+contrastA.x +" , "+"y="+contrastA.y); //0,0
trace("x="+contrastB.x +" , "+"y="+contrastB.y); //0,0
trace("x="+contrastC.x +" , "+"y="+contrastC.y); //0,0
trace("-----------");
var p1:Point , p2:Point , p3:Point;
閱讀更多 »
globalToLocal in Flex
globalToLocal座標空間轉換
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
applicationComplete="init();" xmlns:mx="
http://www.adobe.com/2006/mxml
" layout="
absolute
"
>
<mx:Script>
<![CDATA[
import mx.containers.Panel;
private
function
init():
void
{
var
p:
Point
;
//將btn所在的空間座標轉換成c1上的對應空間座標
p = c1.globalToLocal(
new
Point
(btn.x , btn.y));
l.x = p.x;
l.y = p.y;
}
閱讀更多 »
弧度角度換算
弧度角度換算
radian(弧度)
degree(角度)
PI(圓周率)
360度(角度) = 2PI
180度(角度) = 1PI
90度(角度) = 1/2 PI
PI ~= 3.1416個弧 = 180度角
一圓 = 2PI 約(6.2832弧)
(一個弧 = 57.2958角度)
180 / 3.1416 = 57.2958角度
角度轉弧度
radians = degrees * (Math.PI / 180)
(3.1416 / 180) = 一單位角度代表的弧度量
弧度轉角度
degress = radians * (180 / Math.PI)
(180度角 / 3.1416) = 一單位弧代表的角度量
2010年2月10日 星期三
Flex PNGEncoder 與 BitmapData 配合將Stage畫面以.png檔存於本機端
//將stage上之顯示元件轉成.PNG檔案,並存於本機端,包含stage也可轉存
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
applicationComplete="init()" xmlns:mx="
http://www.adobe.com/2006/mxml
" layout="
absolute
">
<mx:Script>
<![CDATA[
import
mx.graphics.codec.PNGEncoder;
private
var
enable:
Boolean
;
private
function
init():
void
{
enable =
true
;
}
閱讀更多 »
較新的文章
較舊的文章
首頁
查看行動版
訂閱:
文章 (Atom)