【问题标题】:Uncaught TypeError: t.setPenSIze is not a function but it is a function未捕获的 TypeError:t.setPenSIze 不是函数,但它是函数
【发布时间】:2021-07-31 10:39:02
【问题描述】:

所以我在一个网络服务器上工作(本地托管:端口 5000)和机器人设置,网络服务器与机器人通信(raspberrypi 和brickpi 机器人使用各种传感器 - 主要是 EV3 传感器,但还有一些与 raspberrypi 兼容的其他传感器和砖 pi)

但这不是当前的问题,我正在创建一个系统,用 Turtle 映射机器人的先前动作,但是当我运行它时,它显示它们在网络服务器上的开发人员工具中出现类型错误。

但是,如果我进入 mapping.js,它不会显示相同的错误,甚至不会显示“i”是大写的

var brd = JXG.JSXGraph.initBoard('Box',{boundingbox: [-250, 250, 250, -250]});
var t = brd.create('turtle',[0, 0], {strokeOpacity:0.5});
t.setPenSize(3);

function forwardturtle(results)
{
    console.log(results);
    t.forward(results.elasped*20);
}

function rotateturtle(results)
{
    console.log(results);
    t.rt(results.rotated);
}

这是执行机器人所有命令以及如何发出海龟命令的仪表板页面

{% extends "brickpilayout.html" %}

{% block styles %}
    <link herf="https://cdn.jsdelivr.net/npm/jsxgraph@1.1.0/distrib/jsxgraph.css" />
{% endblock %}
{% block content %}
<div class="container">
    <h1>Dashboard</h1>
    <div class="row">
        <button id="loadbutton" type="button" class="btn btn-success" onclick="hideelement('loadbutton'); JSONrequest('brickpiload','POST',brickpiloadedhandler);">Load BrickPi</button>
    </div>
    <div id="stats" class="row"> <!-- recurring function - use json to fetch the voltage, currentcommand and current routine -->
    </div>
    <div id="dashboard">
        <div class="row fitrow">
            <div class="col-4">
                <button type="button" class="btn btn-success" onclick="JSONrequest('brickpistart','POST',forwardturtle)">Forward</button>
            </div>
            <div class="col-4">
                <button type="button" class="btn btn-success" onclick="JSONrequest('brickpiback','POST')">Backward</button>
            </div>
            <div class="col-4">
                <button type="button" class="btn btn-success" onclick="JSONrequest('brickpiturnright','POST',rotateturtle)">Turn Right</button>
            </div>
            <div class="col-4">
                <button type="button" class="btn btn-success" onclick="JSONrequest('brickpiturnleft','POST',rotateturtle)">Turn Left</button>
            </div>
        </div>
        <div class="row text-center fitrow">
            <div class="col-4">
                <button type="button" class="btn btn-dark" onclick="JSONrequest('brickpishoot','POST')">Shoot Robot</button>
            </div>
            <div class="col-4">
                <button type="button" class="btn btn-danger" onclick="JSONrequest('brickpistop','POST')">Stop</button>
            </div>
            <div class="col-4">
                <button type="button" class="btn btn-dark" onclick="hideelement('dashboard'); JSONrequest('brickpishutdown','POST', brickpishutdownhandler);">Shutdown Robot</button>
            </div>
        <br/>
        <h2> Map </h2>
        <div id="Box" class="jxgbox" style="width:500px; height:500px;"> </div>
    </div>
</div>  
{% endblock %}
{% block scripts %}
    {% if robotenabled %} <!-- cant equate because comes in as the word 'True'-->
        <script> robotenabled = true;</script>
    {% else %}
        <script> robotenabled = false;</script>
    {% endif %}
    <script src="https://cdn.jsdelivr.net/npm/jsxgraph@1.1.0/distrib/jsxgraphcore.js"></script>
    <script src="static/mapping.js"></script>
    <script src="static/brickpirequesthandlers.js"></script>
{% endblock %}

如果您需要有关代码的更多信息,我可以在评论中提供,但我拥有的代码非常丰富

编辑:ewong 这里的代码图像与发布的相同

【问题讨论】:

  • 错误是抱怨t.setPenSIze(3) 不是一个函数。我没有看到t.setPenSIze(3)。您确定您发布的代码与 ide 抱怨的代码相同吗?在发布的代码中,您有 t.setPenSize(3) 这似乎是正确的。
  • 那么你还有同样的错误吗?
  • @ewong 是一样的错误代码

标签: javascript python html ajax turtle-graphics


【解决方案1】:

好的,我不知道为什么会这样,但我通过删除该文件并将其重命名为其他文件并将所有对旧文件的引用更改为新文件并修复了我不知道为什么但它已修复工作过

【讨论】:

    猜你喜欢
    • 2017-07-20
    • 2019-09-26
    • 2015-12-29
    • 2021-09-09
    • 2017-07-31
    • 2016-11-02
    • 2016-08-07
    • 2022-01-25
    • 2016-11-21
    相关资源
    最近更新 更多