2d横版过关游戏

本文探讨了游戏开发中运用状态机实现AI的行为逻辑,具体介绍了动作状态如空闲、攻击、行走、受伤和死亡的实现过程,并通过Cocos2d-x框架中的计时器与随机数来灵活切换状态,提升AI的智能表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

格斗游戏的主线是:挨打盒和攻击盒。挨打盒表示身体,攻击盒位于挨打盒的右边或者左边,以游戏人物朝向为准,当敌人或者英雄的状态机切换到攻击状态时。检测碰撞盒。有碰撞就表示了一次攻击。

格斗游戏主要ai是通过状态机来实现的,状态机大约有这几种

typedefenum _ActionState

{

    kActionStateNone=0,//初始化

    kActionStateIdle,//空闲

    kActionStateAttack,//攻击

    kActionStateWalk,//行走

    kActionStateHurt,//受伤

    kActionStateKnockedOut,//死亡    

}ActionState;

coco2dx中计时器的使用如下:

long millisecondNow()

{

   struct cc_timeval now;

    CCTime::gettimeofdayCocos2d(&now,NULL);

   return (now.tv_sec *1000 + now.tv_usec /1000);

}

通过计时器,随机数来切换状态机。
源码地址如下:http://download.youkuaiyun.com/detail/cloud95/5280750

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值