【问题标题】:How change vehicle color如何改变车辆颜色
【发布时间】:2019-09-09 11:15:54
【问题描述】:

如何根据功能改变静脉车辆图标颜色?

在 tictoc 2 示例中,这可以通过更改 ned 文件中的 @display ("i =, cyan") 来实现。

【问题讨论】:

    标签: omnet++ veins


    【解决方案1】:

    在应用程序代码的开头添加以下行:

    #define black TraCIColor(0,0,0,0)
    #define red TraCIColor(255,0,0,0)
    #define green TraCIColor(0,255,0,0)
    #define yellow TraCIColor(255,255,0,0)
    #define blue TraCIColor(0,0,255,0)
    #define violet TraCIColor(255,0,255,0)
    #define cyan TraCIColor(0,255,255,0)
    #define white TraCIColor(255,255,255,0)
    

    然后,要将编号为 carId 的汽车的颜色设置为绿色,请将以下行添加到您的代码中:

    self = getParentModule()->getIndex();
    traciVehicle = mobility->getVehicleCommandInterface();
    if(self==carId) traciVehicle->setColor(green);
    

    【讨论】:

    • 谢谢。我会做这个配置,然后返回给你。
    • 为避免错误,我将 #include "veins / modules /mobility / traci / TraCIColor.h" 这行放在了行中,但是会显示以下错误:self 未在此范围内声明 carId 是未在此范围内声明
    • 打开应用程序文件.h并添加:int self. carId 只是您要更改颜色的汽车的数字标识(整数)。每辆车都有一个数字标识,您可以通过打印各自的 self 值来知道它: cout
    • 即使设置变量也不起作用。是否也需要定义 carId?
    • 就我而言,我可以通过将默认静脉图像文件夹复制到 OMNET ++ 图像文件夹来解决问题。所以我定义了这一行:findHost()->getDisplayString().updateWith("r=16,red;i=node/car,gold");。这样,每次发生事故时,坠毁的汽车都会改变颜色并发送消息。这是我做的测试,后来我想用不同的颜色定义一个集群的成员车、CH和网关。
    猜你喜欢
    • 2021-03-16
    • 1970-01-01
    • 2018-10-13
    • 2011-11-22
    • 1970-01-01
    • 2014-04-14
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多