unity3d里面 ,点击一下按钮然后自动修改人物属性数据,比如说攻击力增加等等的代码怎么编写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d里面 ,点击一下按钮然后自动修改人物属性数据,比如说攻击力增加等等的代码怎么编写?相关的知识,希望对你有一定的参考价值。

参考技术A 首先定义属性,然后获取属性,然后在按钮的点击事件里赋值

如何单击Dojo-heavy web上的按钮

我在使用python + selenium + phantomjs进行自动网络测试时遇到了问题。 网络是Dojo沉重的网络应用程序。为了修改记录,我需要先点击drop_button 修改,然后点击“修改”但它始终报告找不到元素。

有人可以帮我看一下吗? “modify”元素是display:none,我试图使用JS启用它,但失败了。

enter image description here

这是修改元素的来源

<div class="dijit dijitLeft dijitInline dijitDropDownButton" dojoattachevent="onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse,onclick:_onDropDownClick,onkeydown:_onDropDownKeydown,onblur:_onDropDownBlur,onkeypress:_onKey" widgetid="dijit_form_DropDownButton_6">
    <div class="dijitRight">
        <button class="dijitStretch dijitButtonNode dijitButtonContents" type="button" dojoattachpoint="focusNode,titleNode" wairole="button" waistate="haspopup-true,labelledby-dijit_form_DropDownButton_6_label" role="button" aria-haspopup="true" aria-labelledby="dijit_form_DropDownButton_6_label" id="dijit_form_DropDownButton_6" tabindex="-1" aria-valuenow="" aria-disabled="false">
            <div class="dijitInline " dojoattachpoint="iconNode"></div><span class="dijitButtonText" dojoattachpoint="containerNode,popupStateNode" id="dijit_form_DropDownButton_6_label">修改</span><span class="dijitA11yDownArrow">▼</span>
        </button>
    </div>
</div>

这是modify元素的来源:

<table class="dijit dijitMenu dijitReset dijitMenuTable" wairole="menu" dojoattachevent="onkeypress:_onKeyPress" role="menu" id="dijit_Menu_32" widgetid="dijit_Menu_32" style="display: none;">
    <tbody class="dijitReset" dojoattachpoint="containerNode">
        <tr class="dijitReset dijitMenuItem" dojoattachevent="onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick" id="dijit_MenuItem_76" widgetid="dijit_MenuItem_76" tabindex="-1">
            <td class="dijitReset">
                <div class="dijitMenuItemIcon " dojoattachpoint="iconNode"></div>
            </td>
            <td tabindex="-1" class="dijitReset dijitMenuItemLabel" dojoattachpoint="containerNode" wairole="menuitem" role="menuitem" aria-disabled="false">Modify</td>
            <td class="dijitReset" dojoattachpoint="arrowCell">
                <div class="dijitMenuExpand" dojoattachpoint="expand" style="display:none"><span class="dijitInline dijitArrowNode dijitMenuExpandInner">+</span></div>
            </td>
        </tr>
        <tr class="dijitReset dijitMenuItem" dojoattachevent="onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick" id="dijit_MenuItem_77" widgetid="dijit_MenuItem_77" tabindex="-1">
            <td class="dijitReset">
                <div class="dijitMenuItemIcon " dojoattachpoint="iconNode"></div>
            </td>
            <td tabindex="-1" class="dijitReset dijitMenuItemLabel" dojoattachpoint="containerNode" wairole="menuitem" role="menuitem" aria-disabled="false">Clone</td>
            <td class="dijitReset" dojoattachpoint="arrowCell">
                <div class="dijitMenuExpand" dojoattachpoint="expand" style="display:none"><span class="dijitInline dijitArrowNode dijitMenuExpandInner">+</span></div>
            </td>
        </tr>
    </tbody>
</table>

这是代码:

menu = driver.find_element_by_css_selector("#dijit_form_DropDownButton_0")
hidden_submenu = driver.find_element_by_css_selector("#dijit_MenuItem_31 > td:nth-child(2)")

actions = webdriver.common.action_chains.ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()
答案

我看到你的代码非常类似于selenium action chains的例子,为什么不让它变得更简单?你只是转移到修改菜单而没有点击它,所以当你试图点击子菜单时将找不到

无论如何,如果点击修改已经执行但你仍然无法点击子菜单,我建议在点击之间添加一个硬编码的等待时间,如:

import time
time.sleep(3)

如果这样做,请执行动态等待时间而不是硬编码

以上是关于unity3d里面 ,点击一下按钮然后自动修改人物属性数据,比如说攻击力增加等等的代码怎么编写?的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D中,给人物模型加了Rigidbody之后,点击开始按钮之后,就会掉出地图外?

unity3d 点击一下按钮,然后产生4个按钮,再点击原按钮,这四个按钮隐藏

unity3d怎么把动画导入模型?

玩Unity3D游戏时,人物自动向左走(不是键盘问题),插件我也重新安装了,但是还不行,这是怎么回事?

Unity3D按钮的点击事件怎么代码是啥啊?

电脑一开机就出现邮件提示,然后点击弹出的提醒图标就自动登录邮箱,该怎么卸载或者解决?