2011年7月23日 星期六

多人構圖法、加一點角度設計



此作品為2004年於實踐大學海報合成練習作品,主要是依照多人構圖法所設計。此為備份作品檔,因此較為小張。




此作品為2004年於實踐大學海報合成練習作品,主要是依照於畫面加一點角度意旨設計。此為備份作品檔,因此較為小張。

2011年3月1日 星期二

[Action Script]華攝氏轉換

Action Script3版:

package  
{
import flash.display.Sprite;

/**
* ...
* @author james
*/
public class Temperature extends Sprite
{
public function Temperature()
{
var input:Number=10; //自行改變溫度
var f:Number;
f = convert2F(input)
trace("攝氏溫度:"+input+" = 華氏溫度: "+f);
}
private function convert2F(c:Number):Number{
var f:Number = 0;
f = (9.0 * c) / 5.0 + 32.0;
return f;
}
}
}



Java版:

public class Temperature {

/**
* @param args
*/
static double convert2F(double c){
double f;
f=(9.0*c)/5.0+32.0;
return f;
}
public static void main(String[] args) {
// TODO Auto-generated method stub

java.util.Scanner sc=new java.util.Scanner(System.in);
System.out.println("請輸入攝氏溫度:");
double c=sc.nextDouble();
double f=convert2F(c);
System.out.println("攝氏溫度"+c+"=華氏"+f);
}

}

2011年2月24日 星期四

[Action Script]用timer寫forloop

使用timer來取代for回圈

可以避掉Flash逾時的問題,但出現逾時的情形,就代表程式要重新修正

除非有其他因素

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
/**
* ...
* @author james chang
*/
public class addEventfor extends Sprite {
public var sum:int = 0;
public var i:int = 1;
public var timer:Timer = new Timer(100);
public function addEventfor(){
//for (var i:int= 0; sum <= 10; i++) {
//trace(i);
//sum += 1;
//}
timer.addEventListener(TimerEvent.TIMER, forloop);
timer.start();
}

private function forloop(e:TimerEvent):void {
sum += 1;
if (sum >= 10){
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, forloop);
}
trace(sum);
i++;
}

}

}

2010年12月28日 星期二

[Action Script]Zend Amf安裝

出現

Warning: require_once(Zend/Amf/Server.php) [function.require-once]: failed to open stream: No such file or directory in C:\AppServ\www\ZendAMP\gateway.php on line 2

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Amf/Server.php' (include_path='.;C:\php5\pear') in C:\AppServ\www\ZendAMP\gateway.php on line 2



的解法

其實也就是他找不到這個資料夾

要先到C裡面的php.ini

找到
;include_path = ".;c:\php\includes;

這一行

將;C:\php\library"貼到後面

並將最前面的;拿掉


會變成

;include_path = ".;c:\php\includes;C:\php\library"


要注意一下"的位置

然後再到php打上
<?php
require_once 'Zend/Amf/Server.php';
$server=new Zend_Amf_Server();
$server->addDirectory('AMFApp/');
$response = $server->handle();
echo $response;
?>

執行後即可看見見

Zend Amf Endpoint

2010年12月14日 星期二

[Action Script]load XML註釋資料

平常load XML檔是比較少注意到此功能

因為Action Script預設是為true ,將註釋資料忽略

若今天要將XML資料內的註釋一起load進來該如何做呢?

加上這兩行指令即可


              XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;


以下為完整的範例

先建一個xmldata.xml

內容自己輸入xml格式,以下是我的例子

<?xml version="1.0" encoding="UTF-8"?>
<data>
<!--項目列表1--->
<item>
<name>James</name>
<email>dickfala@gmail.com</email>
<webSite>http://bruce620.blogspot.com/</webSite>
</item>
<!--項目列表2--->
<item>
<name>xxx</name>
<email>xxxx@gmail.com</email>
<webSite>http://www.google.com.tw</webSite>
</item>
<!--項目列表3--->
<item>
<name>ooo</name>
<email>ooo@yahoo.com</email>
<webSite>http://www.yahoo.com.tw</webSite>
</item>
</data>


再使用Action Script外部檔案輸入以下程式

此為外部AS package寫法

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
/**
* @author james
* http://bruce620.blogspot.com/
*/
public class loadxmldata extends Sprite {
private var _urlLoader:URLLoader;
private var _xml:XML;
public function loadxmldata(){
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
_urlLoader = new URLLoader();
_urlLoader.load(new URLRequest("xmldata.xml"));
_urlLoader.addEventListener(Event.COMPLETE, onloadercompletehandler);
}
private function onloadercompletehandler(e:Event):void {
_xml = new XML(e.target.data);
trace(_xml);
}
}
}

輸出後就可以看到

<!--項目列表1--->
<!--項目列表2--->
<!--項目列表3--->


的註釋資料囉~

2010年12月11日 星期六

[C++]變數型態

比較特別的變數型態

1.Signed
2.Unsigned
3.wchar_t
4.short
5.double
6.long double
7.char


1.Signed 為帶正負數變數,且是包括零的 ,signed可存-127~127有的允許存-128~127

2.unsigned為只能表達大於或等於零的值 ,unsigned可存0~255之間的值(8bits)

所以Signed與unsigned皆有零可表述

3.wchar_t 寬字元 最小size為16bits

4.short為短整數 最小size為16bits

5. double為停精度浮點數 10位有效數字

6.long double 擴增精度浮點數 10位有效數字

7.Char表示有兩種表示法

一種為 signed char

另種為unsigned char

char代表哪個要看使用哪個編譯軟體而決定


float、double、long double為單位、雙停、擴增精度的浮點數值。
1個float為一個 word(32bits)
1個double為兩個words(64bits)
1個long double以三或四個words表之(96bits或128bits)

字面常數規則:
有10進位、8進位、16進位表示
起首為0的整數字面常數會被當做8進位表示。ex:013 //8進位
起首為0x則為16進位表示。ex:0x15 //16進位

============
int、long、short的不同
short表半個machine word表示
int則一個machine word
long則一或兩個machine words
在32bits中ints和longs大小相同
==============

2010年12月8日 星期三

prefuse setting

prefuse為一套視覺化toolkit

出自於http://prefuse.org/

使用語言為Java

可用於Social Network

他的設定需要調整

可參考英文網頁

http://javadude.wordpress.com/2009/01/30/how-to-get-started-with-prefuse-and-netbeans/

我也寫一篇 源自於以上面網

下載toolkit後 需另外在系統中的環境變數增加JAVA_HOME

我以Window 7為例

到我的電腦 →右鍵→內容→進階系統設定→進階→環境變數→下面的系統變數→按新增

→變數名稱:JAVA_HOME
變數值:C:\Program Files\Java\jdk1.6.0_12

變數值為 你裝Java JDK的路徑(可至http://www.oracle.com/technetwork/java/javase/downloads/index.html
下載)



根據上面網站說到
build.bat 要修改內容

到下載的toolkit中 找到build.bat 檔

使用文字編輯器開啟

將第11行

%JAVA_HOME%\bin\java.exe -Dant.home="%ANT_HOME%" -classpath "%LOCALCLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5

改成

java.exe -Dant.home="%ANT_HOME%" -classpath "%LOCALCLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5

這樣執行此bat才不會有問題

再使用命令提示字元到toolkit的目錄執行 build.bat

會出現



再執行 build.bat all

會出現




之後再到java編譯器新增jar檔

將prefuse-beta\build裡的jar檔新增進去

在JCreator的是以下新增方式

Configure→Options→左方的JDK Profiles→點選右方profiles的jdk 按右邊edit

→選擇Add→Archive→將build裡的jar選到後按確定

如圖



這樣就可以對demos裡的檔進行測試會使用prefuse toolkit進行撰寫:)