青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 28,  comments - 15,  trackbacks - 0

對(duì)上次的代碼做了一些修改今天傳上來(lái),代碼中肯定有很多問(wèn)題需要高人指點(diǎn)一二
1.可以運(yùn)用00P和GP方法對(duì)代碼進(jìn)行壓縮
2.對(duì)內(nèi)存的利用更合理,更節(jié)省開(kāi)銷
.................
如果誰(shuí)有時(shí)間修改,麻煩修改后回復(fù),多謝

截圖:




#pragma once
#include 
"exampleapplication.h"
#include 
<stdlib.h>

class ParticleSysListener : public ExampleFrameListener
{
public:
    ParticleSysListener(RenderWindow
* win,Camera* cam,AnimationState* anistate,AnimationState* anistate1,
        AnimationState
* bbsp_anistate,AnimationState* stateTrail,SceneNode* pNode,SceneNode* Node_chain) : ExampleFrameListener(win,cam)
    
{

        mAnimationSate
=anistate;
        mAnimationSate1
=anistate1;
        mNode
=pNode;
        bbsp_anistate1
=bbsp_anistate;
        mstatetrial
=stateTrail;
        node_chain 
= Node_chain;
    }

protected:
    
bool frameStarted(const FrameEvent& evt)
    
{
        
if (trFlag==0)
        
{
            mNode
->translate(Vector3(-3,-1.5,-3));
        }

        
else 
        
{
            
if(trFlag==3)
            
{
                mNode
->translate(Vector3(0,0,0));
            }


            
if (trFlag==6)
            
{
                mNode
->translate(Vector3(3,1.5,3));
            }


        }

        
//mNode->yaw(Radian(evt.timeSinceLastFrame*0.1));
        mAnimationSate->addTime(evt.timeSinceLastFrame);
        mAnimationSate1
->addTime(evt.timeSinceLastFrame*0.3);
        trFlag
++;
        
if (trFlag==8)
        
{
            trFlag
=0;
        }


        bbsp_anistate1
->addTime(evt.timeSinceLastFrame);
        mstatetrial
->addTime(evt.timeSinceLastFrame);

        node_chain
->roll(Radian(evt.timeSinceLastFrame*100));
        
return ExampleFrameListener::frameStarted(evt);
    }

private:
    AnimationState
* mAnimationSate;
    AnimationState
* mAnimationSate1;
    
//static SceneNode* mNode;
    SceneNode* mNode;
    
static UINT trFlag;
    AnimationState
* bbsp_anistate1;
    AnimationState
* mstatetrial;
    SceneNode
* node_chain;
}
;
//SceneNode* ParticleSysListener::mNode=NULL;
UINT ParticleSysListener::trFlag=FALSE;


class ParticleSysApplication : public ExampleApplication
{
public:
    ParticleSysApplication()
    
{
        mHeadAnimation
=NULL;
        
//mHeadAnimation1=NULL;
        stateTrail=NULL;
    }

    
~ParticleSysApplication()
    
{
        
//如果指針是new得到的,則一定要delete [] p;
    }

protected:
    
void createScene(void)
    
{
        mRootSceneNode 
= mSceneMgr->getRootSceneNode();

        mHeadNode 
= mRootSceneNode->createChildSceneNode("RobotHeadNode");

        mRollHeadNode 
= mRootSceneNode->createChildSceneNode("RollParentNode");

        mRollLeftNode 
= mRollHeadNode->createChildSceneNode("RollLeftNode");

        mRollRightNode 
= mRollHeadNode->createChildSceneNode("RollRightNode");


        mSceneMgr
->setAmbientLight(ColourValue(0.2,0.2,0.2,1.0));//僅影響環(huán)境的亮度

        
//機(jī)器人以及綁定在機(jī)器人上的燈光
            
//實(shí)體
        Entity* ent=mSceneMgr->createEntity("Rotbot","robot.mesh");
        
//Entity* ent= static_cast<Entity*> (mSceneMgr->createMovableObject("Robot","Entity"));//這種定義方式無(wú)效
        ent->setMaterialName("Examples/Robot");//是否添加材質(zhì)不影響效果,因?yàn)閞obot.skeleton
        
//mRollHeadNode->setDirection(0,0,1);
        mHeadNode->setOrientation(0.86,0,-0.5,0); //Q = (c,s XA,s YA,s ZA)。其中s = sin(θ/2),c = cos(θ/2)。
        
//mRollHeadNode->setScale(0.5,0.5,0.5);
        mHeadNode->setPosition(0,-50,0);
        mHeadNode
->attachObject(ent);

        
/*
            //燈光,為什么聚光燈失效
        Light* lent=mSceneMgr->createLight("ent_light");
        lent->setType(Light::LT_SPOTLIGHT);
        lent->setPosition(0,100,0);
        lent->setDirection(0,-1,0);
        lent->setDiffuseColour(0.0,1.0,0.0);
        lent->setSpotlightRange(Radian(Degree(10.0)),Radian(Degree(30.0)),2.0);
        mHeadNode->attachObject(lent);
        
*/



        
//整體的燈燈光
        Light* l=mSceneMgr->createLight("SpotLight");
        l
->setType(Light::LT_DIRECTIONAL);  //方向性光源,setPosition無(wú)效
        Vector3 dir(-1,-1,0);
        dir.normalise();
//當(dāng)Vector表示向量時(shí)一定要注意記得歸一化
        l->setDirection(Vector3(-1,-1,0));   //參數(shù)是向量,不是點(diǎn)坐標(biāo),所以(0,0,0)無(wú)效
        l->setDiffuseColour(0.4,0.4,0.8);
        
        
//骨骼動(dòng)畫
        
//mHeadAnimation=mSceneMgr->createAnimation();
        Animation::setDefaultInterpolationMode(Animation::IM_SPLINE);//幀間樣條插值,腳步移動(dòng)平緩
        mHeadAnistate=ent->getAnimationState("Walk");
        mHeadAnistate1
=ent->getAnimationState("Shoot");
        mHeadAnistate
->setEnabled(TRUE);
        mHeadAnistate1
->setEnabled(TRUE);

        
//粒子系統(tǒng)

        
//Green steam on Robot'head
        ParticleSystem* PsRobotHead=mSceneMgr->createParticleSystem("Nimbus","Examples/GreenyNimbus");
        
//mHeadNode->createChildSceneNode()->attachObject(RobotHead);
        mHeadNode->createChildSceneNode(Vector3(0,40,0))->attachObject(PsRobotHead);

        
//手動(dòng)創(chuàng)建地面
        Plane p;
        p.normal
=Vector3::UNIT_Y;
        p.d
=50;
        
//MovablePlane p(Vector3(0,1,0),Vector3(0,0,0));
        MeshManager::getSingleton().createPlane(
            
"FloorPlane", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, 
            p, 
2000002000002020true15050, Vector3::UNIT_X);
        Entity
* ent1=mSceneMgr->createEntity("floor","FloorPlane");
        ent1
->setMaterialName("Examples/RustySteel");
        
//mRollHeadNode->
        mRollHeadNode->attachObject(ent1);
        
//天空
        mSceneMgr->setSkyDome(true"Examples/SpaceSkyPlane"58);
        
        
//公告板 星星
        BillboardSet* bbs0=mSceneMgr->createBillboardSet("star",1);//Billboard的位置由SceneNode決定
        bbs0->setMaterialName("Examples/praticlesys_bbs0");
        Billboard
* bb0=bbs0->createBillboard(Vector3(-80,200,-1800));
        
//bb0=bbs0->createBillboard(Vector3(0,200,-1800));
        SceneNode* bbs0Node=mSceneMgr->getRootSceneNode()->createChildSceneNode("bbs0Node");
        bbs0Node
->attachObject(bbs0);

        
//公告板 精靈
        BillboardSet* bbs1=mSceneMgr->createBillboardSet("sprite",3);
        bbs1
->setMaterialName("Examples/FlarePointSprite");

        Billboard
* bb_sp_00=bbs1->createBillboard(0,0,0,ColourValue(1.0,0.0,0.0,1.0));
        Billboard
* bb_sp_01=bbs1->createBillboard(-20,0,0,ColourValue(0.0,1.0,0.0,1.0));
        Billboard
* bb_sp_02=bbs1->createBillboard(-40,0,0,ColourValue(0.0,1.0,0.0,1.0));

        
//bb_sp_00->setColour()
        bb_sp_00->setDimensions(30.0,30.0);
        bb_sp_01
->setDimensions(20.0,20.0);
        bb_sp_02
->setDimensions(10.0,10.0);


        
//每個(gè)精靈上都綁定一個(gè)Light
        Light* lsp[3];

        lsp[
0]=mSceneMgr->createLight("lsp_0");
        lsp[
1]=mSceneMgr->createLight("lsp_1");
        lsp[
2]=mSceneMgr->createLight("lsp_2");

        lsp[
0]->setType(Light::LT_POINT);
        lsp[
1]->setType(Light::LT_POINT);
        lsp[
2]->setType(Light::LT_POINT);

        
//光照的影響與材質(zhì)的反光系數(shù)有關(guān)
        lsp[0]->setSpecularColour(ColourValue(0.0,1.0,0.0));
        lsp[
0]->setDiffuseColour(ColourValue(0.0,1.0,0.0));
        lsp[
1]->setSpecularColour(ColourValue(0.0,1.0,0.0));
        lsp[
1]->setDiffuseColour(ColourValue(0.0,1.0,0.0));
        lsp[
2]->setSpecularColour(ColourValue(0.0,1.0,0.0));
        lsp[
2]->setDiffuseColour(ColourValue(0.0,1.0,0.0));

        lsp[
0]->setPosition(Vector3(0,0,0));
        lsp[
1]->setPosition(Vector3(-80,0,0));
        lsp[
2]->setPosition(Vector3(-160,0,0));


        SceneNode
* bbs_sp_node=mSceneMgr->getRootSceneNode()->createChildSceneNode();

        bbs_sp_node
->attachObject(bbs1);
        bbs_sp_node
->attachObject(lsp[0]);
        bbs_sp_node
->attachObject(lsp[1]);
        bbs_sp_node
->attachObject(lsp[2]);
    

        
/*
        //公告板集合 巴格達(dá)星星群
        bbs0=mSceneMgr->createBillboardSet("bagedastar",1);//Billboard的位置由SceneNode決定
        bbs0->setMaterialName("Examples/praticlesys_bageda");
        Billboard* bb_bageda_01=bbs0->createBillboard(Vector3(0,600,-100));
        //bb0=bbs0->createBillboard(Vector3(0,200,-1800));
        //SceneNode* bbs0Node=mSceneMgr->getRootSceneNode()->createChildSceneNode("bbs0Node");
        bbs0Node->attachObject(bbs0);
        
*/


        
//關(guān)于精靈的節(jié)點(diǎn)動(dòng)畫
        Animation* ami_bbsp=mSceneMgr->createAnimation("anibbsp",32);//總共32秒鐘
        Animation::setDefaultInterpolationMode(Animation::IM_SPLINE);
        
//ami_bbsp->setInterpolationMode(Animation::IM_SPLINE);
        NodeAnimationTrack* track=ami_bbsp->createNodeTrack(0,bbs_sp_node);

        TransformKeyFrame
* tk=track->createNodeKeyFrame(0);
        tk
->setTranslate(Vector3(-500,-35,-200));//這里點(diǎn)坐標(biāo)應(yīng)該是世界坐標(biāo)系里的吧?

        tk
=track->createNodeKeyFrame(2);
        
//tk->setTranslate(Vector3(rand(),-35,200));//ogre中怎樣隨機(jī)取值
        tk->setTranslate(Vector3(-300,-35,-100));

        tk
=track->createNodeKeyFrame(4);
        tk
->setTranslate(Vector3(0,-35,0));

        tk
=track->createNodeKeyFrame(6);
        tk
->setTranslate(Vector3(0,-35,0));

        tk
=track->createNodeKeyFrame(8);
        tk
->setTranslate(Vector3(100,-35,100));

        tk
=track->createNodeKeyFrame(10);
        tk
->setTranslate(Vector3(50,-35,150));

        tk
=track->createNodeKeyFrame(12);
        tk
->setTranslate(Vector3(-100,-35,150));

        tk
=track->createNodeKeyFrame(13);
        tk
->setTranslate(Vector3(0,-35,200));

        tk
=track->createNodeKeyFrame(14);
        tk
->setTranslate(Vector3(100,-35,200));

        tk
=track->createNodeKeyFrame(15);
        tk
->setTranslate(Vector3(200,-35,200));

        tk
=track->createNodeKeyFrame(16);
        tk
->setTranslate(Vector3(300,-35,200));

        tk
=track->createNodeKeyFrame(17);
        tk
->setTranslate(Vector3(500,-35,200));

        tk
=track->createNodeKeyFrame(18);
        tk
->setTranslate(Vector3(200,-35,300));

        tk
=track->createNodeKeyFrame(19);
        tk
->setTranslate(Vector3(100,-35,300));

        tk
=track->createNodeKeyFrame(20);
        tk
->setTranslate(Vector3(50,-35,300));

        tk
=track->createNodeKeyFrame(22);
        tk
->setTranslate(Vector3(0,-35,300));

        tk
=track->createNodeKeyFrame(24);
        tk
->setTranslate(Vector3(-50,-35,300));

        tk
=track->createNodeKeyFrame(26);
        tk
->setTranslate(Vector3(-100,-35,300));

        tk
=track->createNodeKeyFrame(28);
        tk
->setTranslate(Vector3(-200,-35,300));

        tk
=track->createNodeKeyFrame(30);
        tk
->setTranslate(Vector3(-500,-35,300));

        tk
=track->createNodeKeyFrame(31);
        tk
->setTranslate(Vector3(-500,-35,100));

        tk
=track->createNodeKeyFrame(32);
        tk
->setTranslate(Vector3(-500,-35,-200));

        bbsp_anistate
=mSceneMgr->createAnimationState("anibbsp");
        bbsp_anistate
->setEnabled(1);

        
/*    Ogre::RibbonTrail軌跡條(帶狀軌跡),: pubilic Ogre::BillboardChain : public MovableObject
            我們通常通過(guò)公告板鏈來(lái)創(chuàng)建諸如閃電、電波、速度線和軌跡這種需要“跟隨前面的運(yùn)動(dòng)”而不是獨(dú)立的公告板集合產(chǎn)生的特效。
            在Ogre中我們提供了一個(gè)現(xiàn)成的帶狀軌跡類型,用以實(shí)現(xiàn)追趕一個(gè)場(chǎng)景節(jié)點(diǎn)的公告板鏈,
            就如同場(chǎng)景節(jié)點(diǎn)在空間中劃出一道光亮的軌跡一般的效果
        
*/


        
//條狀軌跡初始化
        
//RibbonTrail* trial=mSceneMgr->createRibbonTrail()
        NameValuePairList paralist;
        paralist[
"numberOfChains"]="1";        //2個(gè)RibbonTrail,默認(rèn)為1,寫成0的時(shí)候怎樣?第一條軌跡的索引為0
        paralist["maxElements"]="100";        //每一個(gè)RibbonTrail含有100個(gè)Billboard
        RibbonTrail* trial = static_cast<RibbonTrail*>(
            mSceneMgr
->createMovableObject("RibbonTrail_01","RibbonTrail",&paralist));//創(chuàng)建RibbonTrail的一種方式
        trial->setMaterialName("Examples/LightRibbonTrail/particleSys");//在這個(gè)腳本中改變軌跡條的形狀
        trial->setTrailLength(300);//軌跡條中每個(gè)元素的長(zhǎng)度為3(300/"maxElements");
        SceneNode* Node_Trail=mSceneMgr->getRootSceneNode()->createChildSceneNode(Vector3(0,200,0));
        Node_Trail
->attachObject(trial);//掛接的這個(gè)Node到底是什么作用,難道這里trail是一個(gè)相當(dāng)于BillboardSet的東西(容器)?

        
//初始化軌跡條
        
//顏色遞減式
        trial->setInitialColour(0,ColourValue(1.0,1.0,1.0,1.0));
        trial
->setColourChange(0,ColourValue(0.5,0.2,0.1,0.05));
        
//寬度遞減式
        trial->setInitialWidth(0,5);
        trial
->setWidthChange(0,1);

        

        SceneNode
* node_trial_tral=mSceneMgr->getRootSceneNode()->createChildSceneNode();
        Animation
* aniTrail=mSceneMgr->createAnimation("Animation_trail",12);//節(jié)點(diǎn)動(dòng)畫的名稱和運(yùn)行的時(shí)間
        Animation::setDefaultInterpolationMode(Animation::IM_SPLINE);
        
//或者
        
//aniTrail->setInterpolationMode(Animation::IM_SPLINE);
        
//NodeAnimationTrack* trialtrack=aniTrail->createNodeTrack(0,Node_Trail);
        NodeAnimationTrack* trialtrack=aniTrail->createNodeTrack(0,node_trial_tral);
        TransformKeyFrame
* tf=trialtrack->createNodeKeyFrame(0);
        tf
->setTranslate(Vector3(0,0,0));
        tf
=trialtrack->createNodeKeyFrame(2);
        tf
->setTranslate(Vector3(0,100,0));
        tf
=trialtrack->createNodeKeyFrame(4);
        tf
->setTranslate(Vector3(-100,0,0));
        tf
=trialtrack->createNodeKeyFrame(6);
        tf
->setTranslate(Vector3(0,-100,0));
        tf
=trialtrack->createNodeKeyFrame(8);
        tf
->setTranslate(Vector3(100,0,0));
        tf
=trialtrack->createNodeKeyFrame(10);
        tf
->setTranslate(Vector3(0,100,0));
        tf
=trialtrack->createNodeKeyFrame(12);
        tf
->setTranslate(Vector3(0,0,0));

        
//動(dòng)畫狀態(tài)
        stateTrail=mSceneMgr->createAnimationState("Animation_trail");
        stateTrail
->setEnabled(TRUE);

        
//trial->addNode(Node_Trail);
        trial->addNode(node_trial_tral);
        
//為軌跡條頭部裝上"導(dǎo)航點(diǎn)"
        BillboardSet* trialSet=mSceneMgr->createBillboardSet("trialSet",1);
        Billboard
* bbtrial_01=trialSet->createBillboard(Vector3(0,0,0));
        bbtrial_01
->setDimensions(60,60);
        
//trialSet->setMaterialName("Examples/trialSet");//在Billboard中可以放入任何東西,任何形狀,但最終都是方形的
        trialSet->setMaterialName("Examples/praticlesys_bbs0");    //添加星星
        node_trial_tral->attachObject(trialSet);

        
//BillboardChain公告板鏈
        BillboardChain* chain=mSceneMgr->createBillboardChain("1chain");//不含具體的數(shù)據(jù)如:長(zhǎng)度,chain條數(shù),等信息
        
//chain->setMaterialName("Examples/LightRibbonTrail");//材質(zhì)是閃電
        chain->setNumberOfChains(4);//一個(gè)Chain索引號(hào)為0
        chain->setTextureCoordDirection(BillboardChain::TCD_U);//從U方向上分割紋理

        
//存儲(chǔ)Element的Vector
        BillboardChain::ElementList melementList;
        
for (int i=0;i<20;i++)
        
{
            melementList.push_back(BillboardChain::Element(Vector3(i
*10,i*10,i*10),5,0.05*i,
                                    ColourValue((Real)rand()
/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX)));
        }

        
//解析Vector,并添加Element到chain中,1chain_0
        BillboardChain::ElementList::iterator pelement;
        
for (pelement=melementList.begin();pelement !=melementList.end();++pelement)
        
{
            
//第一個(gè)參數(shù)為chain的索引號(hào),即第幾個(gè)chain;第二個(gè)參數(shù)為元素
            chain->addChainElement(0,*pelement);
        }



        Node_chain
=mSceneMgr->getRootSceneNode()->createChildSceneNode("Node_chain",Vector3(0.0,0.0,-100));
        Node_chain
->attachObject(chain);

        
{
            chain
->updateChainElement(0,10,BillboardChain::Element(Vector3(100,100,100),5,0.5,ColourValue(0.0,0.0,0.0,1.0)));
            chain
->updateChainElement(0,11,BillboardChain::Element(Vector3(110,110,110),5,0.55,ColourValue(0.0,0.0,0.0,1.0)));
        }


        Node_chain
->scale(0.5,0.5,0.5);

        
//1chain_1
        
//存儲(chǔ)Element的Vector
        BillboardChain::ElementList melementList1;
        
for (int i=0;i<20;i++)
        
{
            melementList1.push_back(BillboardChain::Element(Vector3(i
*(-10),i*10,i*10),5,0.05*i,
                ColourValue((Real)rand()
/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX)));
        }

        
//解析Vector,并添加Element到chain中,1chain_0
        BillboardChain::ElementList::iterator pelement1;
        
for (pelement1=melementList1.begin();pelement1 !=melementList1.end();++pelement1)
        
{
            
//第一個(gè)參數(shù)為chain的索引號(hào),即第幾個(gè)chain;第二個(gè)參數(shù)為元素
            chain->addChainElement(1,*pelement1);
        }

        
        
//1chain_2
        
//存儲(chǔ)Element的Vector
        BillboardChain::ElementList melementList2;
        
for (int i=0;i<20;i++)
        
{
            melementList2.push_back(BillboardChain::Element(Vector3(i
*(-10),i*(-10),i*10),5,0.05*i,
                ColourValue((Real)rand()
/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX)));
        }

        
//解析Vector,并添加Element到chain中,1chain_0
        BillboardChain::ElementList::iterator pelement2;
        
for (pelement2=melementList2.begin();pelement2 !=melementList2.end();++pelement2)
        
{
            
//第一個(gè)參數(shù)為chain的索引號(hào),即第幾個(gè)chain;第二個(gè)參數(shù)為元素
            chain->addChainElement(2,*pelement2);
        }


        
//1chain_3
        
//存儲(chǔ)Element的Vector
        BillboardChain::ElementList melementList3;
        
//melementList2.clear();
        for (int i=0;i<20;i++)
        
{
            melementList3.push_back(BillboardChain::Element(Vector3(i
*10,i*(-10),i*10),5,0.05*i,
                ColourValue((Real)rand()
/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX,(Real)rand()/(Real)RAND_MAX)));
        }

        
//解析Vector,并添加Element到chain中,1chain_0
        BillboardChain::ElementList::iterator pelement3;
        
for (pelement3=melementList3.begin();pelement3 !=melementList3.end();++pelement3)
        
{
            
//第一個(gè)參數(shù)為chain的索引號(hào),即第幾個(gè)chain;第二個(gè)參數(shù)為元素
            chain->addChainElement(3,*pelement3);
        }



        
    }


    
void createFrameListener()
    
{
        mFrameListener
=OGRE_NEW ParticleSysListener(mWindow,mCamera,mHeadAnistate,mHeadAnistate1,bbsp_anistate,
                                                    stateTrail,mRollHeadNode,Node_chain);
        
//mFrameListener->showDebugOverlay(true);
        mRoot->addFrameListener(mFrameListener);
    }



private:
    SceneNode
* mRootSceneNode;
    SceneNode
* mHeadNode;
    SceneNode
* mRollHeadNode;
    SceneNode
* mRollLeftNode;
    SceneNode
* mRollRightNode;
    Animation
* mHeadAnimation;
    AnimationState
* mHeadAnistate;
    AnimationState
* mHeadAnistate1;
    
//SceneNode* mNode;
    AnimationState* bbsp_anistate;
    AnimationState
* stateTrail;
    SceneNode
* Node_chain;
}
;
posted on 2009-06-06 13:42 閆軍yy 閱讀(1386) 評(píng)論(2)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品福利在线| 销魂美女一区二区三区视频在线| 99视频在线观看一区三区| 国产精品国产一区二区| 欧美制服丝袜第一页| 久久精品国语| 亚洲日本理论电影| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久精品国产亚洲精品| 久久激情视频| 一本色道精品久久一区二区三区| 一区二区三区产品免费精品久久75 | 午夜精品久久久久久久蜜桃app| 国产一区在线免费观看| 欧美国产一区二区| 欧美午夜无遮挡| 久久精品最新地址| 欧美高清在线播放| 欧美一区亚洲| 免费亚洲电影| 午夜精品一区二区三区在线| 久久超碰97人人做人人爱| 亚洲精品久久嫩草网站秘色 | 亚洲狠狠婷婷| 亚洲视频在线观看三级| 狠狠色伊人亚洲综合成人| 亚洲国产精品ⅴa在线观看| 欧美视频在线观看一区| 噜噜噜91成人网| 欧美日韩xxxxx| 久久亚洲图片| 欧美色区777第一页| 麻豆freexxxx性91精品| 欧美日韩亚洲一区在线观看| 久久久五月婷婷| 欧美日韩国产系列| 美女脱光内衣内裤视频久久网站| 欧美日韩国产专区| 免费不卡在线视频| 国产精品美女999| 欧美福利一区二区| 国产日韩亚洲欧美综合| 亚洲欧洲日本mm| 国产一区二区三区无遮挡| 亚洲美女中出| 有码中文亚洲精品| 亚洲欧美日韩国产| 亚洲美女av电影| 久久乐国产精品| 翔田千里一区二区| 欧美区日韩区| 美女网站久久| 国产精品永久免费观看| 91久久久久久| 激情综合在线| 性欧美xxxx视频在线观看| 一区二区三区视频在线看| 久久一区中文字幕| 久久久久久有精品国产| 国产精品a久久久久| 亚洲国产一区二区a毛片| 黑人一区二区| 亚洲欧美日韩视频一区| 亚洲视频每日更新| 欧美成人中文字幕| 老牛国产精品一区的观看方式| 国产精品国产三级国产aⅴ浪潮 | 亚洲伦理在线观看| 久久久久久亚洲综合影院红桃| 香蕉久久一区二区不卡无毒影院 | 国产精品久久国产精麻豆99网站| 亚洲第一区中文99精品| 好看的日韩av电影| 欧美一区二区高清在线观看| 亚洲午夜一区二区三区| 欧美大片在线观看一区| 女人香蕉久久**毛片精品| 国产亚洲欧洲| 午夜欧美精品久久久久久久| 亚洲一区3d动漫同人无遮挡| 欧美激情一区二区三区成人| 欧美激情中文字幕乱码免费| 红桃视频国产精品| 欧美一级大片在线观看| 先锋影音一区二区三区| 国产精品久久久久99| 一区二区福利| 亚洲欧美激情诱惑| 欧美午夜在线观看| 中文在线不卡视频| 亚洲女性裸体视频| 国产精品国内视频| 亚洲视频香蕉人妖| 亚洲女女做受ⅹxx高潮| 国产精品久久久久9999吃药| 日韩午夜一区| 亚洲色图自拍| 欧美日韩一区二区视频在线观看| 亚洲精品国精品久久99热| 亚洲精品欧美一区二区三区| 欧美国产日本韩| 亚洲日本va午夜在线影院| 亚洲乱码国产乱码精品精98午夜| 欧美福利一区二区| 日韩视频免费大全中文字幕| 亚洲午夜激情免费视频| 欧美色中文字幕| 亚洲天堂av在线免费| 午夜精品久久| 国产日韩欧美一区二区三区在线观看| 亚洲欧美日韩第一区| 久久高清一区| 在线免费观看成人网| 麻豆久久婷婷| 亚洲精品国产精品国自产观看| 9l国产精品久久久久麻豆| 欧美天堂在线观看| 亚洲专区欧美专区| 久久久91精品国产一区二区三区 | 欧美黄色免费| 日韩一区二区精品视频| 亚洲欧美国产另类| 国产日本欧洲亚洲| 久久久久久久久蜜桃| 欧美成人亚洲成人日韩成人| 亚洲精品视频在线看| 欧美日韩亚洲高清一区二区| 亚洲天堂网在线观看| 久久精品久久99精品久久| 在线日韩av| 欧美片在线播放| 亚洲一区二区在| 蜜桃av一区二区在线观看| 亚洲欧洲日本mm| 欧美色区777第一页| 亚洲欧美日韩区| 欧美成人小视频| 亚洲香蕉在线观看| 国产一区二区精品丝袜| 可以看av的网站久久看| 亚洲精品在线观| 久久不射中文字幕| 91久久久久久久久久久久久| 欧美日韩在线免费视频| 欧美一二区视频| 亚洲国产精品久久| 午夜精品久久久久久久蜜桃app| 黄色免费成人| 欧美日韩三区四区| 久久国产欧美日韩精品| 亚洲电影成人| 性久久久久久| 亚洲国产网站| 国产精品视频xxx| 免费永久网站黄欧美| 在线亚洲欧美视频| 免费观看在线综合| 亚洲在线观看免费视频| 黄色成人av网| 欧美日韩在线播放一区| 久久久久国产精品人| 亚洲美女色禁图| 久久躁日日躁aaaaxxxx| 国产精品99久久久久久人| 狠狠色综合色区| 欧美体内谢she精2性欧美| 久久久亚洲国产美女国产盗摄| 日韩午夜激情| 男人插女人欧美| 午夜精品三级视频福利| 亚洲激情av在线| 国产日韩欧美视频在线| 欧美极品在线播放| 久久国产视频网| 亚洲一区二区3| 亚洲区在线播放| 久久香蕉国产线看观看av| 亚洲一区二区不卡免费| 亚洲国产精品成人久久综合一区| 国产精品久久久999| 欧美激情国产高清| 久久精品五月婷婷| 亚洲一区二区视频在线| 亚洲国产精品日韩| 久久先锋影音av| 欧美一区二区三区啪啪| 艳女tv在线观看国产一区| 尤物yw午夜国产精品视频| 国产精品视频在线观看| 欧美绝品在线观看成人午夜影视| 久久久久国产免费免费| 午夜精品久久久久久99热| 亚洲美女在线观看| 欧美激情视频免费观看| 久久久7777| 欧美与黑人午夜性猛交久久久| 在线一区二区日韩| 91久久在线视频| 在线播放不卡| 国产一区二区在线免费观看 |