最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flash制作3D類動(dòng)畫(huà)的教程

  發(fā)布時(shí)間:2009-11-25 00:23:57   作者:佚名   我要評(píng)論
最近對(duì)Flash3D效果產(chǎn)生了興趣,下決心學(xué)習(xí)一下Sandy。一下將學(xué)習(xí)的體會(huì)的感受寫(xiě)下來(lái),一來(lái)幫助大家熟悉Sandy,二來(lái)加強(qiáng)自己的記憶。
最近對(duì)Flash3D效果產(chǎn)生了興趣,下決心學(xué)習(xí)一下Sandy。一下將學(xué)習(xí)的體會(huì)的感受寫(xiě)下來(lái),一來(lái)幫助大家熟悉Sandy,二來(lái)加強(qiáng)自己的記憶。

先從基礎(chǔ)開(kāi)始吧(基礎(chǔ)解釋轉(zhuǎn)自Flash3D研究所)

原理解釋:

窗口:
用戶觀看的窗口,簡(jiǎn)單的可以想成就是flash里面的畫(huà)布大小。窗口也可以理解成渲染的尺寸,否則畫(huà)面就無(wú)限大了 場(chǎng)景:
場(chǎng)景是指整個(gè)三維的場(chǎng)景。 攝像機(jī):
很多人要問(wèn),為什么有了攝像機(jī)還要窗口呢?攝像機(jī)是用來(lái)拍畫(huà)面的,看畫(huà)面還是得電視機(jī)/窗口不是嗎,^_^
渲染器:如果沒(méi)有這個(gè)東西,所有以上的東西都只是數(shù)據(jù),渲染器就是把所有數(shù)據(jù)變成圖像的東西。

下面這幅圖雖然并不算準(zhǔn)確的表述,但希望能幫助我們理解:

然后開(kāi)始寫(xiě)代碼了(目前感覺(jué)Sandy的代碼還是比較簡(jiǎn)潔的):

要先將Sandy的類庫(kù)下載下來(lái)哦?。。ㄔ谶@里要謝謝 tenzn 的提醒,呵呵。)
官方網(wǎng)站:http://www.flashsandy.org
下載地址:http://sandy.googlecode.com/files/Sandy3-1-1_src_rev1008.zip

先嘗試創(chuàng)建一個(gè)立方體。

package
{
import flash.display.Sprite;
import flash.events.Event;
import sandy.core.Scene3D;
import sandy.core.scenegraph.*;
import sandy.primitive.*;

/**
* ...
* @author ever5u
*/
public class fuxi extends Sprite
{
private var scene:Scene3D;
private var camera:Camera3D;
public function fuxi() {
//創(chuàng)建一個(gè)攝像機(jī)
camera = new Camera3D(300, 300);
camera.z = -300;
//創(chuàng)建一個(gè) Group
var root:Group = createScene();
//創(chuàng)建場(chǎng)景
scene = new Scene3D( "scene", this, camera, root );
//創(chuàng)建實(shí)時(shí)偵聽(tīng)
addEventListener( Event.ENTER_FRAME, enterFrameHandler );
}
var box = new Box("box", 100, 100, 100);
public function createScene() {
var g:Group = new Group();
g.addChild( box );
return g;
}
public function enterFrameHandler(_evt:Event) {
box.rotateX = mouseX;
box.rotateY = mouseY;
scene.render();
}
}

}

成功了,效果如下:

接下來(lái)嘗試給這個(gè)立方體著色。

這里需要用到 sandy.materials.attributes 類。

其中為線著色的方法 LineAttributes 有三個(gè)屬性:
LineAttributes(p_nThickness:uint = 1, p_nColor:uint = 0, p_nAlpha:Number = 1)

p_nThickness:uint (default = 1) — 線的粗細(xì) p_nColor:uint (default = 0) — 線的顏色 p_nAlpha:Number (default = 1) — 線的透明度

這里設(shè)置是否使用光,需要先設(shè)置 lightingEnable = true 。
LightAttributes(p_bBright:Boolean = false, p_nAmbient:Number = 0.3)

p_bBright:Boolean (default = false) — 設(shè)置是否支持光 p_nAmbient:Number (default = 0.3) — 設(shè)置光的亮度(數(shù)值范圍是 0 - 1)

為立方體渲染用
ColorMaterial(p_nColor:uint = 0x00, p_nAlpha:Number = 1, p_oAttr:MaterialAttributes = null)

p_nColor:uint (default = 0x00) — 顏色 p_nAlpha:Number (default = 1) — 透明度 p_oAttr:MaterialAttributes (default = null) — 線設(shè)置

代碼如下:

package
{
import flash.display.Sprite;
import flash.events.Event;
import sandy.core.Scene3D;
import sandy.core.scenegraph.*;
import sandy.primitive.*;
import sandy.materials.*;
import sandy.materials.attributes.*;

/**
* ...
* @author ever5u
*/
public class fuxi extends Sprite
{
private var scene:Scene3D;
private var camera:Camera3D;
public function fuxi() {
//創(chuàng)建一個(gè)攝像機(jī)
camera = new Camera3D(300, 300);
camera.z = -300;
//創(chuàng)建一個(gè) Group
var root:Group = createScene();
//創(chuàng)建場(chǎng)景
scene = new Scene3D( "scene", this, camera, root );
//創(chuàng)建實(shí)時(shí)偵聽(tīng)
addEventListener( Event.ENTER_FRAME, enterFrameHandler );
}
var box = new Box("box", 100, 100, 100);
public function createScene() {
var g:Group = new Group();
//設(shè)置立方體的顏色、線條色和環(huán)境光
material.lightingEnable = true;
var materialAttr:MaterialAttributes = new MaterialAttributes(
new LineAttributes( 0.5, 0x000000, 0.4 ),
new LightAttributes( true, 0.2)
);
var material:Material = new ColorMaterial( 0xCC3300, 1, materialAttr );
var app:Appearance = new Appearance( material );

box.appearance = app;

g.addChild( box );
return g;
}
public function enterFrameHandler(_evt:Event) {
box.rotateX = mouseX;
box.rotateY = mouseY;
scene.render();
}
}

}

這是效果:

繼續(xù)試試看用圖片為立方體貼圖。

首先導(dǎo)入一張位圖到庫(kù)里,并聲明類名為 MyPalm

package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.net.URLRequest;
import sandy.core.Scene3D;
import sandy.core.scenegraph.*;
import sandy.primitive.*;
import sandy.materials.*;
import sandy.materials.attributes.*;

/**
* ...
* @author ever5u
*/
public class fuxi extends Sprite
{
private var scene:Scene3D;
private var camera:Camera3D;
public function fuxi() {
//創(chuàng)建一個(gè)攝像機(jī)
camera = new Camera3D(300, 300);
camera.z = -300;
//創(chuàng)建一個(gè) Group
var root:Group = createScene();
//創(chuàng)建場(chǎng)景
scene = new Scene3D( "scene", this, camera, root );
//創(chuàng)建實(shí)時(shí)偵聽(tīng)
addEventListener( Event.ENTER_FRAME, enterFrameHandler );
}
var box = new Box("box", 100, 100, 100);
public function createScene() {
var g:Group = new Group();
//設(shè)置立方體的貼圖
var bitmap:BitmapData = new MyPalm(0, 0);
var material:Material = new BitmapMaterial( bitmap );
var app:Appearance = new Appearance( material );

box.appearance = app;

g.addChild( box );
return g;
}
public function enterFrameHandler(_evt:Event) {
box.rotateX = mouseX;
box.rotateY = mouseY;
scene.render();
}
}

}

效果:

相關(guān)文章

  • flash如何制作形狀補(bǔ)間動(dòng)畫(huà)?flash創(chuàng)建補(bǔ)間形狀技巧

    flash一款功能強(qiáng)大的動(dòng)畫(huà)制作軟件,制作動(dòng)畫(huà)很非常的方便,但動(dòng)畫(huà)過(guò)程使用的都是形狀補(bǔ)間功能。今天小編就來(lái)給大家介紹一下flash形狀補(bǔ)間動(dòng)畫(huà)制作方法,感興趣的快來(lái)看看吧
    2022-05-11
  • flash cs6怎么做花朵成長(zhǎng)的逐幀動(dòng)畫(huà)?

    flash cs6怎么做花朵成長(zhǎng)的逐幀動(dòng)畫(huà)?flash中想要繪制一個(gè)花開(kāi)的動(dòng)畫(huà),該怎么畫(huà)出各個(gè)圖形然后做逐幀動(dòng)畫(huà)呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下
    2021-03-09
  • Flash怎么將動(dòng)畫(huà)復(fù)制為ActionScript3.0并使用?

    Flash怎么將動(dòng)畫(huà)復(fù)制為ActionScript3.0并使用?Flash中制作的動(dòng)畫(huà)想要直接粘貼到另一個(gè)對(duì)象中,我們可以使用復(fù)制腳本代碼的方式復(fù)制動(dòng)畫(huà),下面我們就來(lái)看看詳細(xì)的教程,需
    2017-12-08
  • flash怎么制作漫畫(huà)人物行走的動(dòng)畫(huà)?

    flash怎么制作漫畫(huà)人物行走的動(dòng)畫(huà)?flash中想要制作一段行走的動(dòng)畫(huà),該怎么設(shè)計(jì)呢?下面我們就來(lái)看看詳細(xì)的教程,很簡(jiǎn)單,需要的朋友可以參考下
    2017-04-18
  • flash逐幀動(dòng)畫(huà)制作全過(guò)程解析

    這篇教程是向腳本之家的朋友分享flash逐幀動(dòng)畫(huà)制作全過(guò)程,教程非?;A(chǔ),很適合新手來(lái)學(xué)習(xí),推薦過(guò)來(lái),有興趣的朋友可以過(guò)來(lái)學(xué)習(xí)
    2016-01-15
  • Flash正確的口型吻合動(dòng)畫(huà)技巧

    下面小編就為大家介紹利用Flash正確的口型吻合動(dòng)畫(huà)技巧,教程很不錯(cuò),非常適合新手來(lái)學(xué)習(xí),推薦到腳本之家,喜歡的朋友一起來(lái)學(xué)習(xí)吧
    2015-01-15
  • Flash動(dòng)畫(huà)制作技巧 圖形元件相關(guān)知識(shí)介紹

    這篇教程是向腳本之家的朋友介紹Flash動(dòng)畫(huà)制作技巧:圖形元件相關(guān)知識(shí),教程很基礎(chǔ),但很實(shí)用,推薦到腳本之家,喜歡的朋友可以過(guò)來(lái)學(xué)習(xí)一下,希望能對(duì)大家有所幫助
    2015-01-05
  • Flash動(dòng)畫(huà)制作小黑人經(jīng)典動(dòng)畫(huà)效果技巧介紹(圖文)

    本教程是向大家介紹Flash動(dòng)畫(huà)制作小黑人經(jīng)典動(dòng)畫(huà)效果技巧,教程很經(jīng)典,介紹的非常詳細(xì),相信對(duì)學(xué)習(xí)Flash朋友有一定的幫助。轉(zhuǎn)發(fā)過(guò)來(lái),希望對(duì)大家有所幫助
    2014-08-05
  • Flash制作旋轉(zhuǎn)的3D立體盒動(dòng)畫(huà)教程

    本教程是向大家介紹利用Flash制作旋轉(zhuǎn)的3D立體盒動(dòng)畫(huà)教程,制作出來(lái)的效果非常好看,教程介紹的很詳細(xì),希望大家通過(guò)本篇教程能學(xué)習(xí)Flash制作3D動(dòng)畫(huà)的方法,這樣以后就可以
    2014-07-22
  • Flash cs3制作人物行走動(dòng)畫(huà)技巧圖文解析

    本教程向大家介紹了Flash cs3制作人物行走動(dòng)畫(huà)技巧,并做了詳細(xì)的介紹,覺(jué)得教程很不錯(cuò),轉(zhuǎn)發(fā)過(guò)來(lái),希望給朋友們帶來(lái)幫助
    2014-07-15

最新評(píng)論

抚顺县| 石门县| 大宁县| 根河市| 禹州市| 卢氏县| 巴塘县| 津南区| 永靖县| 安西县| 库尔勒市| 兴化市| 乌拉特前旗| 鲜城| 辽中县| 余庆县| 建昌县| 屏山县| 绍兴市| 平果县| 奎屯市| 莆田市| 延安市| 北票市| 普兰店市| 丽江市| 乌兰察布市| 什邡市| 洛浦县| 怀柔区| 安康市| 汶川县| 宜丰县| 城口县| 衡山县| 襄城县| 闸北区| 额济纳旗| 浙江省| 金坛市| 康定县|