查看: 446|回复: 8

[编程指南] 【4. 测试您的代码 | Unreal Engine】

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
75866
发表于 2016-6-27 00:48:00 | 显示全部楼层 |阅读模式



上一步
下一步



   
编程主页


在 虚幻编辑器 中,找到 Content Browser(内容浏览器) ,并展开资源文件名称为"C++类"的文件夹、  在该文件夹中,有一个包含了 Actor 类的 FloatingActor 的"QuickStart"文件夹。

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]


我们可以直接把 FloatingActor 类拖曳到 Level Editor(关卡编辑器) 窗口来创建世界中 FloatingActor 的实例。 我们会在 Level Editor(关卡编辑器) 和 World Outliner(世界大纲视图) 中选择它,它在其中的资源文件名称为 "FloatingActor1"。 它的 Components(组件) 和其它属性可以在 Details(详细信息) 面板中看到。

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]


FloatingActor 应该在游戏中可见。 在选择了它后,我们可以在 Details Panel(详细信息面板) 中点击 Add Component(添加组件) ,然后选择 Cone(椎体) 从而赋予它简单的可视化表现。

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]


现在自定义的 Actor 已经完成了,让我们把它移动到明显的位置。 我们可以用鼠标左键在世界中选择并拖曳内容,或者我们也可以手动来移动它。 如需手动移动,我们可以在 Level Editor(关卡编辑器) 或 World Outliner(世界大纲视图) 中选择它,然后使用 Details Panel(详细信息面板) 来选择"FloatingActor1 (实例)"。 我们现在可以直接编辑FloatingActor1的 Transform(变换) 的 Location(位置) 域了。 让我们把X设置为-200,把Z设置为200。这样我们就可以在场景中的桌子上放置"FloatingActor1"了。

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]


按下 Play(播放) 按钮,然后观看椎体的上下浮动!

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]

【虚幻4翻译文档-4. 测试您的代码 | Unreal Engine】[虚幻4中文文档]




Finished Code


FloatingActor.h

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.#pragma once#include "GameFramework/Actor.h"#include "FloatingActor.generated.h"UCLASS()class QUICKSTART_API AFloatingActor : public AActor{    GENERATED_BODY()public:     // 设置此actor属性的默认值    AFloatingActor();    // 当游戏开始或生成时调用    virtual void BeginPlay() override;    // 在每一帧调用    virtual void Tick( float DeltaSeconds ) override;    float RunningTime;};
FloatingActor.cpp

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.#include "QuickStart.h"#include "FloatingActor.h"// 设置默认值AFloatingActor::AFloatingActor(){    // 将此actor设置为在每一帧都调用Tick()。  如果您不需要这项功能,您可以关闭它以改善性能。    PrimaryActorTick.bCanEverTick = true;}// 当游戏开始或生成时调用void AFloatingActor::BeginPlay(){    Super::BeginPlay();}// 在每一帧调用void AFloatingActor::Tick( float DeltaTime ){    Super::Tick( DeltaTime );    FVector NewLocation = GetActorLocation();    float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));    NewLocation.Z += DeltaHeight * 20.0f;      //把高度以20的系数进行缩放    RunningTime += DeltaTime;    SetActorLocation(NewLocation);}


   
上一步
下一步



   
编程主页
回复

使用道具 举报

EOJ 该用户已被删除
发表于 2016-7-2 19:29:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

922

帖子

3043

积分

vip会员

Rank: 1

积分
3043
发表于 2016-7-3 17:30:16 来自手机 | 显示全部楼层
不错的资源啊,可以研究研究
回复 支持 反对

使用道具 举报

0

主题

875

帖子

2890

积分

vip会员

Rank: 1

积分
2890
发表于 2016-7-4 09:59:15 | 显示全部楼层
感谢楼主的大爱无私
回复 支持 反对

使用道具 举报

0

主题

851

帖子

2810

积分

vip会员

Rank: 1

积分
2810
发表于 2016-7-10 12:07:46 来自手机 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

883

帖子

2914

积分

vip会员

Rank: 1

积分
2914
发表于 2016-7-15 11:21:11 来自手机 | 显示全部楼层
不错哦  下载看一下啊
回复 支持 反对

使用道具 举报

0

主题

884

帖子

2969

积分

vip会员

Rank: 1

积分
2969
发表于 2016-7-18 10:30:30 来自手机 | 显示全部楼层
助人为乐啊!
回复 支持 反对

使用道具 举报

0

主题

835

帖子

2706

积分

vip会员

Rank: 1

积分
2706
发表于 2016-7-21 02:24:39 来自手机 | 显示全部楼层
这个必须顶,撸主好人
回复 支持 反对

使用道具 举报

0

主题

1240

帖子

3897

积分

vip会员

Rank: 1

积分
3897
发表于 2016-7-23 03:46:57 来自手机 | 显示全部楼层
我是来看看东西的!!!
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部