中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

java做網(wǎng)站pdf制作一個(gè)網(wǎng)站大概需要多少錢

java做網(wǎng)站pdf,制作一個(gè)網(wǎng)站大概需要多少錢,佛山網(wǎng)站建設(shè)公司排行,淮北網(wǎng)站建設(shè)一.整體思路 首先需要在 想要控制的軀體Pawn上,生成不同相機(jī)對(duì)應(yīng)的SpringArm組件。其次是在Controller上,拿到這個(gè)Pawn,并在其中設(shè)置輸入響應(yīng),并定義響應(yīng)事件。響應(yīng)事件里有指向Pawn的指針,并把Pawn的縮放平移功能進(jìn)行…

一.整體思路

首先需要在 想要控制的軀體Pawn上,生成不同相機(jī)對(duì)應(yīng)的SpringArm組件。其次是在Controller上,拿到這個(gè)Pawn,并在其中設(shè)置輸入響應(yīng),并定義響應(yīng)事件。響應(yīng)事件里有指向Pawn的指針,并把Pawn的縮放平移功能進(jìn)行調(diào)用。

二.

1.CameraPawn的組件構(gòu)成

	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = MySceneComponent)USceneComponent* MyRoot;UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = MySceneComponent)USpringArmComponent* MySpringArm;UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = MySceneComponent)UCameraComponent* MyCamera;void Zoom(bool Direction, float ZoomSpeed);void Panx(float x);void Pany(float y);void Back();
ACameraPawn::ACameraPawn()
{// Set this pawn to call Tick() every frame.  You can turn this off to improve performance if you don't need it.PrimaryActorTick.bCanEverTick = true;MyRoot = CreateDefaultSubobject<USceneComponent>(TEXT("MyRootComponent"));MySpringArm = CreateDefaultSubobject <USpringArmComponent>(TEXT("MySpringArmComponent"));MyCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("MySCameraComponent"));RootComponent = MyRoot;MySpringArm->SetupAttachment(MyRoot);MyCamera->SetupAttachment(MySpringArm);MySpringArm->bDoCollisionTest = false;
}

2.將Pawn自己鏡頭伸縮,平移功能,復(fù)原寫好

void ACameraPawn::Zoom(bool Direction, float ZoomSpeed) {if (Direction) {if (MySpringArm->TargetArmLength >= 300 && MySpringArm->TargetArmLength < 5000) {MySpringArm->TargetArmLength += (ZoomSpeed * 2);GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("SpringArmLength is %f"), MySpringArm->TargetArmLength));}}else {if (MySpringArm->TargetArmLength > 300 && MySpringArm->TargetArmLength <= 5000) {MySpringArm->TargetArmLength -= (ZoomSpeed * 2);GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("SpringArmLength is %f"), MySpringArm->TargetArmLength));}}
}void ACameraPawn::Panx(float x)
{MyCamera->AddLocalOffset(FVector(0,x,0));
}void ACameraPawn::Pany(float y)
{MyCamera->AddLocalOffset(FVector(0,0,y));
}void ACameraPawn::Back()
{MyCamera->SetRelativeLocation(FVector(0,0,0));
}

?3.在MyPlayerController里面綁定輸入映射,以及響應(yīng)的事件。

	virtual void SetupInputComponent();void WheelUpFunction();void WheelDownFunction();void PanX(float x);void PanY(float y);void Back();

4.綁定映射

void AMyPlayerController::SetupInputComponent()
{Super::SetupInputComponent();InputComponent->BindAction("WheelUp", IE_Pressed, this, &AMyPlayerController::WheelUpFunction);InputComponent->BindAction("WheelDown", IE_Pressed, this, &AMyPlayerController::WheelDownFunction);InputComponent->BindAction("BackXY",IE_Pressed,this,&AMyPlayerController::Back);InputComponent->BindAxis("PanX",this,&AMyPlayerController::PanX);InputComponent->BindAxis("PanY",this,&AMyPlayerController::PanY);//InputComponent->BindAction("ESCEvent", IE_Pressed, this, &AMyPlayerController::ESCEvent).bExecuteWhenPaused=true;//游戲暫??梢詧?zhí)行//InpuptComponent->BindAxis("PanY",this,);
}

5.響應(yīng)事件,并操控控制到對(duì)應(yīng)的Pawn里的函數(shù)。

void AMyPlayerController::WheelUpFunction()
{if (GetPawn()) {ACameraPawn* MyCameraPawn = Cast<ACameraPawn>(GetPawn());if (MyCameraPawn) {MyCameraPawn->Zoom(1, 10);}}
}void AMyPlayerController::WheelDownFunction()
{if (GetPawn()) {ACameraPawn* MyCameraPawn = Cast<ACameraPawn>(GetPawn());if (MyCameraPawn) {MyCameraPawn->Zoom(0, 10);}}
}void AMyPlayerController::PanX(float x)
{if (GetPawn()){ACameraPawn* MyCameraPawn = Cast<ACameraPawn>(GetPawn());if (MyCameraPawn) {MyCameraPawn->Panx(x);}}
}void AMyPlayerController::PanY(float y)
{if (GetPawn()){ACameraPawn* MyCameraPawn = Cast<ACameraPawn>(GetPawn());if (MyCameraPawn) {MyCameraPawn->Pany(y);}}
}void AMyPlayerController::Back()
{if (GetPawn()){ACameraPawn* MyCameraPawn = Cast<ACameraPawn>(GetPawn());if (MyCameraPawn) {MyCameraPawn->Back();}}
}

6.需要在ProjectSetting里面,設(shè)置使用的按鍵。

三.可能需要注意的

1.Pawn這里,需要Poccess。不然會(huì)控制不到。

2.SpringArm設(shè)置視角的位置。Camera最好都是相對(duì)位置為0,這樣視角返回默認(rèn)值可以用。

MyCamera->SetRelativeLocation(FVector(0,0,0));

http://www.risenshineclean.com/news/11160.html

相關(guān)文章:

  • 網(wǎng)站備案都需要什么百度助手應(yīng)用商店下載安裝
  • wordpress 仿站命令網(wǎng)推拉新app推廣接單平臺(tái)
  • 設(shè)計(jì)類比賽網(wǎng)站怎樣在平臺(tái)上發(fā)布信息推廣
  • 你自己做的網(wǎng)站怎么發(fā)布到網(wǎng)上2345網(wǎng)止導(dǎo)航
  • 江蘇公司響應(yīng)式網(wǎng)站建設(shè)報(bào)價(jià)網(wǎng)絡(luò)搜索優(yōu)化
  • 模具 東莞網(wǎng)站建設(shè)域名權(quán)重
  • wordpress 自己寫jsseo教程視頻論壇
  • 企業(yè)網(wǎng)站建設(shè)合同免費(fèi)seo提交工具
  • 什么公司做網(wǎng)站小紅書推廣費(fèi)用一般多少
  • 做網(wǎng)站的目的與意義石家莊疫情
  • 中國(guó)建設(shè)銀行官方網(wǎng)站站長(zhǎng)之家端口掃描
  • 做網(wǎng)站的費(fèi)用的會(huì)計(jì)分錄自媒體seo是什么意思
  • 怎樣申請(qǐng)做p2p融資網(wǎng)站中國(guó)培訓(xùn)網(wǎng)
  • 五金商城網(wǎng)站建設(shè)注意百度網(wǎng)址怎么輸入?
  • 1g網(wǎng)站空間多少錢百度一下網(wǎng)頁搜索
  • 網(wǎng)站301是什么意思人民網(wǎng)疫情最新消息
  • wordpress資源博客優(yōu)化師助理
  • 網(wǎng)站做seo第一步公司注冊(cè)流程
  • wordpress主題woocomece網(wǎng)站關(guān)鍵詞優(yōu)化建議
  • wordpress 接收詢盤長(zhǎng)治seo顧問
  • 鎮(zhèn)江市住房城鄉(xiāng)建設(shè)局網(wǎng)站谷歌seo推廣
  • 專業(yè)做寫生的網(wǎng)站百度云官網(wǎng)登錄入口
  • 北京專業(yè)做網(wǎng)站電話百度手機(jī)seo軟件
  • 科技公司建設(shè)網(wǎng)站網(wǎng)站推廣如何收費(fèi)
  • 電子商務(wù)網(wǎng)站建設(shè)信陽網(wǎng)站推廣公司
  • 網(wǎng)站插入背景音樂網(wǎng)站seo診斷分析報(bào)告
  • 政府網(wǎng)站建設(shè)及其對(duì)策參考文獻(xiàn)seo關(guān)鍵詞推廣公司
  • 拆分盤網(wǎng)站建設(shè)百度流量推廣項(xiàng)目
  • 公司網(wǎng)站怎么發(fā)布文章關(guān)鍵詞排名是什么意思
  • 網(wǎng)站做優(yōu)化效果怎樣搜索引擎排行榜