当前位置: 首页 > wzjs >正文

手机网站制作 费怎么做分录成都私人网站建设

手机网站制作 费怎么做分录,成都私人网站建设,加盟营销型网站建设,时事新闻最新消息1、目标 种植一棵橡树,从种子变成大树。 然后可以使用斧头砍伐橡树。 2、删除totalGrowthDays字段 修改growthDays的含义,定义每个值为到达当前阶段的累加天数。此时最后一个阶段就是totalGrowthDays的含义。所以就可以删除totalGrowthDays字段。 &…

1、目标

种植一棵橡树,从种子变成大树。

然后可以使用斧头砍伐橡树。

2、删除totalGrowthDays字段

修改growthDays的含义,定义每个值为到达当前阶段的累加天数。此时最后一个阶段就是totalGrowthDays的含义。所以就可以删除totalGrowthDays字段。

(1)修改SO_CropDetailsList的配置信息

修改前的GrowthDays的配置信息:

修改后的GrowthDays的配置信息:

每个值换成了累加的方式。

(2)修改CropDetails.cs脚本

删除totalGrowthDays字段。

(3)修改GridPropertiesManager.cs脚本

找出目前所处的成长阶段换成如下的代码:

// 找出目前所处的成长阶段
for (int i = growthStages - 1; i >= 0; i--)
{if (gridPropertyDetails.growthDays >= cropDetails.growthDays[i]){currentGrowthStage = i;break;}
}

(3)修改GridCursor.cs脚本

Check if crop fully grown的逻辑修改如下:

3、修改CropStandard预制体的配置

修改CropSprite的Sprite Sort Point为Pivot。

修改CropHarvestedSprite的Sprite Sort Point为Pivot,Order in Layer为1。

调整完成后,收获的防风草会显示在Player之前,如下所示:

4、动画系统

已有的动画为:

查看TreeFallingLeft节点:

根级别的Sprite Renderer值为0,被禁用了。

子级别有Top和Trunk两个Sprite Renderer组件。

这就要求动画绑定的预设体有同样的结构。

5、创建橡树预设体

(1)创建CropTreeCanyonOak

在Hierarchy -> PersistentScene下新创建一个物体命名为CropTreeCanyonOak。

添加Box Collider 2D组件和Crop组件,相关配置信息如下:

(2)创建CropSprite

在CropTreeCanyonOak下创建子物体命名为CropSprite。

添加Sorting Group、Sprite Renderer、Animator组件,相应的配置信息如下:

双击Animator下的Controller(Tree),在Animation界面可以看到相关配置被黄色高亮显示,这表明animator识别不到相关的对象。

(3)创建Trunk

在CropSprite下创建物体命名为Trunk,添加组件信息如下:

Auto Tiling(自动贴片)的作用:要是你把 Box Collider 2D 组件添加到使用了瓦片精灵的 Sprite(精灵)上,并且开启了 Auto Tiling,这个组件就能够依据精灵的瓦片布局,自动对碰撞体的形状和大小进行调整。

  1. 贴合瓦片形状:它会按照精灵所使用的瓦片图集的边界,自动调整碰撞体的轮廓,让碰撞检测与精灵的视觉外观精准匹配。
  2. 处理多瓦片精灵:当精灵由多个瓦片组合而成时,Auto Tiling 能够自动生成一个覆盖所有瓦片的组合碰撞体,而无需你手动去调整每个瓦片的碰撞体。
  3. 提升效率:对于复杂的瓦片地图,开启 Auto Tiling 可以节省大量手动设置碰撞体的时间,避免逐个为瓦片添加碰撞体。

添加完成后,Animation下的Trunk立马置灰(正常状态)。

(4)创建Top

在CropSprite下创建子物体命名为Top,添加相关组件的配置信息如下:

添加完成后,Animation下的Top立马置灰(正常状态)。

(5)查看特效

点击CropSprite,点击Animation下的播放,可以看到特效。

(6)移动Prefab

将CropTreeCanyonOak从Hierarchy移动到Assets -> Prefabs -> Crop下。

并且删除Hierarchy下的CropTreeCanyonOak。

6、SO_CropDetailsList添加配置

因为Growth Prefab第5个Prefab已经有图片信息,所以Growth Sprite第5个不再需要图片信息。

7、运行游戏1

首先挖5块土,然后放入橡木种子。

走过未成熟的橡木时,树木会左右晃动。经过成熟的橡木后方时,会有褪色的效果。

接下来处理使用斧头砍伐成年橡树的逻辑。

8、修改GridCursor.cs脚本

修改IsCursorValidForTool函数,添加下面一行代码:

9、修改Player.cs脚本

在ProcessPlayerClickInput函数中添加一行代码:

在ProcessPlayerClickInputTool函数中,添加一个case如下:

case ItemType.Chopping_tool:if (gridCursor.CursorPositionIsValid){ChopInPlayerDirection(gridPropertyDetails, itemDetails, playerDirection);}break;

添加ChopInPlayerDirection函数如下:

private void ChopInPlayerDirection(GridPropertyDetails gridPropertyDetails, ItemDetails itemDetails, Vector3Int playerDirection)
{// Trigger animationStartCoroutine(ChopInPlayerDirectionRoutine(gridPropertyDetails, itemDetails, playerDirection));    
}

添加ChopInPlayerDirectionRoutine函数如下:

private IEnumerator ChopInPlayerDirectionRoutine(GridPropertyDetails gridPropertyDetails, ItemDetails equippedItemDetails, Vector3Int playerDirection)
{PlayerInputIsDisabled = true;playerToolUseDisabled = true;// Set tool animation to axe in override animationtoolCharacterAttribute.partVariantType = PartVariantType.axe;characterAttributeCustomisationList.Clear();characterAttributeCustomisationList.Add(toolCharacterAttribute);animationOverrides.ApplyCharacterCustomisationParameters(characterAttributeCustomisationList);ProcessCropWithEquippedItemInPlayerDirection(playerDirection, equippedItemDetails, gridPropertyDetails);yield return useToolAnimationPause;// After animation pause yield return useToolAnimationPause;PlayerInputIsDisabled = false;playerToolUseDisabled = false;
}

修改ProcessCropWithEquippedItemInPlayerDirection如下,添加了对case ItemType.Chopping_tool的支持。

private void ProcessCropWithEquippedItemInPlayerDirection(Vector3Int playerDirection, ItemDetails equippedItemDetails, GridPropertyDetails gridPropertyDetails)
{switch (equippedItemDetails.itemType){case ItemType.Chopping_tool:if(playerDirection == Vector3Int.right){isUsingToolRight = true;}else if(playerDirection == Vector3Int.left){isUsingToolLeft = true;}else if(playerDirection == Vector3Int.up){isUsingToolUp = true;}else if(playerDirection == Vector3Int.down){isUsingToolDown = true;}break;case ItemType.Collecting_tool:if (playerDirection == Vector3Int.right){isPickingRight = true;}else if (playerDirection == Vector3Int.left){isPickingLeft = true;}else if (playerDirection == Vector3Int.up){isPickingUp = true;}else if (playerDirection == Vector3Int.down){isPickingDown = true;}break;case ItemType.none:break;}// Get crop at cursor grid locationCrop crop = GridPropertiesManager.Instance.GetCropObjectAtGridLocation(gridPropertyDetails);// Execute Process Tool Action For cropif(crop != null){switch (equippedItemDetails.itemType){case ItemType.Chopping_tool:crop.ProcessToolAction(equippedItemDetails, isUsingToolRight, isUsingToolLeft, isUsingToolDown, isUsingToolUp);break;case ItemType.Collecting_tool:crop.ProcessToolAction(equippedItemDetails, isPickingRight, isPickingLeft, isPickingDown, isPickingUp);break;}}
}

10、运行游戏2

存在一个问题:就是砍树的时候,用的不是斧头,而是锄头。这是因为使用了默认的Tool即Hoe。

之前,当玩家携带一个道具时,我们为动画创建了一些脚本对象资产,以便可以在携带道具和不携带之间切换。

现在,我们需要对use tool动画做类似的事情,以便在axe和hoe两个工具之间切换。

11、新建Animation Type

在Assets -> Scriptable Object Assets -> Animation -> Animation Types下新建tool目录,在其下再创建目录NoneAxe。

该目录右击,Create -> Scriptable Objects -> Animation -> Animation Type,重命名为ToolNoneAxeUseToolDown。

配置ToolNoneAxeUseToolDown的相关信息:

以同样的方式,分别创建ToolNoneAxeUseToolLeft、ToolNoneAxeUseToolRight、ToolNoneAxeUseToolUp。

比如ToolNoneAxeUseToolRight的参数如下:

在tool目录下再创建目录NoneHoe,相应地创建4个AnimationType,比如ToolNoneHoeUseToolDown如下:

在tool目录下再创建目录NoneScythe,相应地创建4个AnimationType,比如ToolNoneScytheSwingToolDown如下:

在tool目录下再创建目录NoneWateringCan,相应地创建4个AnimationType,比如ToolNoneWateringCanLiftToolUp如下:

新建完毕后,将上面16个添加到Player的CharacterCustomiser下:

添加完毕后,相应的数量从24变为40。

12、运行游戏3

再次砍树,发现正确使用了斧头这个工具

http://www.dtcms.com/wzjs/330821.html

相关文章:

  • 南宁学网站开发老师直播课
  • 淘宝客怎么做网站推广如何优化网络延迟
  • 手机网站域名注册网站seo运营培训机构
  • 做个网站多少费用百度快照投诉中心人工电话
  • 下载素材第三方网站是怎么做百度推广怎么使用教程
  • 湖南华图企业展厅设计公司seo是一种利用搜索引擎的
  • 怎么让别人看到自己做的网站百度指数api
  • 给个人网站做百度百科做网站的公司哪家好
  • 化妆品网站设计思路深圳网络营销的公司哪家好
  • 怎么买网站域名太原seo公司
  • 购物券网站怎么做网站建设图片
  • 专业网站建设哪个好百度热搜电视剧
  • seo推广怎么入门徐州百度seo排名
  • 爬虫做网站相关教程恶意点击竞价是用的什么软件
  • 网站开发资源seo关键词排名网络公司
  • 网站建设外包还是自己做搜索引擎优化是做什么
  • 做外贸网站怎么访问外国网站5188关键词挖掘工具
  • 国外web设计网站百度地图轨迹导航
  • flash网站项目背景深圳网络营销和推广渠道
  • 网站怎么申请微信认证百度安装
  • 品牌公关具体要做些什么seo咨询岳阳
  • 水平b2b代表网站山东大学经济研究院
  • 苹果电脑做网站的步骤微商软文
  • 网站的图片怎么更换aso优化技巧
  • 智能网站优化 cms 加盟百度搜索推广
  • 山东一建建设有限公司网站百度快速排名技术培训教程
  • 牡丹江市建设工程交易中心网站今日头条新闻发布
  • 手机怎么防止网站跳转整合营销名词解释
  • 博白县建设局网站百度收录申请入口
  • 依靠百度云做视频网站网站推广找哪家公司好