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

环保网站可以做哪些方面wordpress临时关闭

环保网站可以做哪些方面,wordpress临时关闭,php网站开发班,长春做网站 信赖吉网传媒有些日子没有更新了#xff0c;实在是琐事缠身啊#xff0c;今天继续开始自学Godot4#xff0c;继续完善地宫相关功能#xff0c;在地宫中安装第二道门#xff0c;只有主人公拿到钥匙才能开启这扇门#xff0c;所以我们在合适位置放置一个宝箱#xff0c;主人公开启宝箱…有些日子没有更新了实在是琐事缠身啊今天继续开始自学Godot4继续完善地宫相关功能在地宫中安装第二道门只有主人公拿到钥匙才能开启这扇门所以我们在合适位置放置一个宝箱主人公开启宝箱后获得开门钥匙。先看一下展示效果。 一、开启宝箱获得钥匙 新建场景根节点设为StaticBody2D命名为Chest保存到场景目录下。 1.部署节点。 依次添加AnimatedSprite2D用于播放宝箱开和关动画CollisionShape2D表示宝箱的碰撞体主人公不能穿越宝箱。Area2D用于监测主人公的攻击当主人公攻击宝箱后宝箱打开并展现钥匙Sprite2D节点命名keys用于表示宝箱中的钥匙 节点目录如下 2.节点属性设置 下面依次设置各节点。 在AnimatedSprite2D的属性检查器中设置新建动画然后在动画面板中建立open和Close动画每个动画就1帧表示宝箱的开启和关闭两种状态宝箱的素材可以在本节的源代码中找到。 在CollisionShape2D检查器中shape属性设置新建RectangleShape2D然后调整大小和位置到合适。 给Area2D节点添加CollisionShape2D子节点并给子节点添加矩形碰撞区域大小覆盖宝箱。 给Keys节点添加Area2D子节点再给Area2D子节点添加CollisionShape2D子节点命名为CheckPeople调整合适大小这个碰撞是为了使主人公拾取钥匙所以大小要比宝箱大一些同时把Disabled启用隐藏该节点当主人公打开宝箱的时候钥匙才显示出来主人公才能拾取。 3.添加代码 给根节点添加代码具体如下 extends StaticBody2D onready var animated_sprite_2d $AnimatedSprite2D #获取宝箱动画节点 onready var collision_shape_2d $Area2D/CollisionShape2D #获取碰撞节点 onready var check_people $Keys/KeyCheck/CheckPeople #获取钥匙拾取节点 onready var keys $Keys #获取钥匙节点#主人公攻击宝箱信号 func _on_area_2d_area_entered(area):animated_sprite_2d.play(open)#播放宝箱打开动画collision_shape_2d.set_deferred(disabled,true) #将攻击宝箱的碰撞设为不可用await get_tree().create_timer(.3).timeout #等待0.3秒keys.show() #钥匙显示出来await get_tree().create_timer(.3).timeout #等待0.3秒表示钥匙拾取的个等待check_people.set_deferred(disabled,false) #将钥匙拾取检测设为可用#钥匙拾取检测信号 func _on_key_check_body_entered(body):if body.name Player:#当是主人公的时候keys.queue_free() #钥匙销毁body.stats.keycount 1 #主人公钥匙计数加一最后在underground场景实例化该节点并把宝箱放到合适位置。 二、在上方显示获取钥匙信息 这部分完成的效果如下 新建场景更目录设置为BoxContainer命名为InfoContainer并保存到场景目录下。 1.新建节点 依次为根节点添加Label节点命名为CoinCount表示金币的数量添加TextureRect节点命名为CoinIco表示金币图标添加Label节点命名为KeyCount表示钥匙的数量添加TextureRect节点命名为KeyIco表示钥匙图标在CoinIco节点和KeyCount节点之间添加Control节点用于隔开金币和钥匙一定距离。 2.节点设置 CoinCount和KeyCount节点的Text属性均设置为0Theme Overrrides-Font Sizes属性下Font Size启用并设置为10px。 CoinIco和KeyIco节点的Texute属性对应拖入金币和钥匙的图标。 最后将根节点调整为右上对其并适当调整边距。 3.添加代码 为根节点添加代码具体如下 extends HBoxContainer export var stats:Stats #定义状态为输入变量 onready var coin_count $CoinCount #获取金币数量节点 onready var key_count $KeyCount #获取钥匙数量节点func _ready():stats.coin_changed.connect(update_coin) #链接金币数量改变信号到本节点update_coin函数stats.key_changed.connect(update_key) #链接钥匙数量改变信号到本节点的update_key函数func update_coin():#金币数量改变信号coin_count.text str(stats.coincount) #将金币数量显示出来func update_key():key_count.text str(stats.keycount) #将钥匙数量显示出来修改Status.gd代码如下 class_name Stats #定义当前节点为Stats类 extends Node #继承Node节点 signal health_changed #定义血量变化信号 signal coin_changed #定义金币变化信号 signal key_changed #定义钥匙数量变化信号export var max_health: int 100 #定义最大血量 onready var health: int max_health: #当前血量默认等于最大血量set(v): #输入血量v clampi(v, 0, max_health) #控制输入的血量0到最大血量之间if health v: #如果当前血量和输入血量相同就会退出returnhealth v #将当前血量设置为输入值health_changed.emit() #发出信号onready var coincount:int0: #定义金币数量默认为0set(v): #输入金币数量coincountv #当前金币数量设置为输入值coin_changed.emit() #发出金币改变信号onready var keycount:int0: #定义钥匙数量默认为0set(v): #输入钥匙数量keycountv #将当前钥匙数量设置为输入值key_changed.emit() #发出钥匙改变信号 最后进入Player场景在CanvasLayer节点下实例化InfoContainer节点并将Stats设置Stats节点。 三、用钥匙打开宝箱 切换到underground场景先将TileMap修改一下留出一个可以通过的缺口并铺设地面如下 1.节点部署 新建场景更目录设置为StaticBody2D命名为KeyDoor并保存到场景目录下。 依次为根节点添加AnimatedSprite2D节点命名为DoorAnima表示门有关的动画添加CollisionShapte2D节点命名为IntoCollision用于碰撞检测当门关闭时人是不能进入的当打开时人才能通过添加Area2D节点用来检测主人公是否进入实例化Tips节点这是我们第节第三十一节添加的类用于信息提示。 2.节点设置 在DoorAnima节点的检查器中Animation-Sprite Frames设置为新建SpriteFrames在其动画帧面板上新建3个动画一个是Close动画表示门的关闭状态一个是Open动画表示门的打开状态最后一个是Charge动画表示开门的动画。 IntoCollision节点检查器中CollisionShape2d-Shape设置为新建RectangeShape2D并调整到合适大小和位置。 给CheckInArea添加CollisionShape2D子节点然后在该节点检查器中CollisionShape2d-Shape设置为新建RectangeShape2D并调整到合适大小和位置。 3.添加代码 为根节点添加如下代码 extends StaticBody2D onready var door_anima $DoorAnima #获取门的动画节点 onready var into_collision $IntoCollision #获取门碰撞节点 onready var tips $Tips #获取提示信息节点 onready var incollision $CheckInArea/Incollision #获取主人公进入检测节点#主人公进入检测信息 func _on_check_in_area_body_entered(body):if body.namePlayer : #当主人公进行检测碰撞区if body.stats.keycount1: #果主人公钥匙数量为0tips.infoText这道门似乎只有用钥匙才能打开 #提示信息return #退出该函数else: #如果主人公有钥匙incollision.set_deferred(disabled,true) #主人公检查碰撞失效body.stats.keycount -1 #主任公的钥匙数量减一door_anima.play(Charge) #播放门的打开动画await door_anima.animation_finished #等待动画播放完毕door_anima.play(Open) #播放门的打开状态动画into_collision.set_deferred(disabled,true) #设置门的碰撞检测失效主人公可以进入最后在underground节点下实例化该场景并将门移动预留的位置。 ok,这样本节的内容就可以收工了。效果如下
http://www.yingshimen.cn/news/70053/

相关文章:

  • 怎么在百度上建立网站如何查网站是否备案
  • 西安杰商网络网站建设商务网站建设 视频
  • 电商网站开发思路wordpress禁止非浏览器访问
  • 哪个网站开发是按月付费的服务器运维
  • 企石镇网站仿做淘宝网站都是怎么做的
  • 聊城网站建设lchckj关键词seo报价
  • 优化网站技术php做网站中下一步按钮
  • ipad怎么制作网站网络营销的特点包括哪些?
  • 电大企业网站建设论文范文有用的网站地址
  • 京东网站建设的目标wordpress mofile
  • sns社交网站注册网络营销比较成功的企业
  • 网站copyright写法多语言网站建设 技术
  • php做小公司网站用什么框架甘肃网站制作公司
  • 招聘网站哪个好wordpress开启hppts后格式
  • 网站建设全大连市中心是哪个区
  • 公司网站怎么建立优化体系深圳推广公司排行榜
  • 锦州北京网站建设影院网站建设
  • 专门做外贸的网站门店设计装修效果图
  • 成都微网站公司免费素材网站素材库
  • 淮北网站建设求职简历百度网址大全首页
  • 荣成网站建设跨境电商无货源模式怎么做
  • wordpress 注册验证码seo服务公司排名
  • 自己做的网站怎么删除饰品交易网站怎么做
  • 做民宿要给网站多少钱删除网站域名
  • 公司网站的用途wordpress m编辑器
  • 自己做婚恋网站wordpress多级分类目录
  • 网站常用图标素材专业建设润滑油网站
  • 网站与客户端的区别吗成立公司的好处和坏处
  • 网站欢迎页面设计哪里可以检测药物成分
  • 网站建设方案申请报告vue可以做pc端网站