发布网友 发布时间:2022-04-12 12:46
共3个回答
懂视网 时间:2022-04-12 17:08
最近在搞连线的游戏,之前的博客里也提到了用DrawNode画粗线的方法。(http://blog.csdn.net/no99es/article/details/38823673) 线画出来之后,就想用绳子代替它,由于三角函数忘光了,耽误了时间,今天终于搞完了,记录下来。 使用的绳子图片: 网上找的,
最近在搞连线的游戏,之前的博客里也提到了用DrawNode画粗线的方法。(http://blog.csdn.net/no99es/article/details/38823673)
线画出来之后,就想用绳子代替它,由于三角函数忘光了,耽误了时间,今天终于搞完了,记录下来。
使用的绳子图片:
网上找的,横向的绳子。
原理:
用setTextureRect方法,显示指定长度的绳子,然后根据触摸点坐标,进行旋转。
下面贴出两段关键代码:
/*
*添加触摸监听
*/
auto myListener = EventListenerTouchOneByOne::create();
//myListener->setSwallowTouches(true);
myListener->onTouchBegan = CC_CALLBACK_2(LineTest::TouchBegan, this);
myListener->onTouchMoved = CC_CALLBACK_2(LineTest::TouchMoved, this);
myListener->onTouchEnded = CC_CALLBACK_2(LineTest::TouchEnded, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(myListener, this);
触摸方法里,Began跟Moved代码差不多,大家自由发挥~~
bool LineTest::TouchBegan(Touch* touch, Event* event)
{
spline->setVisible(true);
//长度,触摸点到屏幕中心的距离
int texturehight = sqrt(pow((touch->getLocation().x - visibleSize.width / 2 + origin.x), 2) + pow((touch->getLocation().y - visibleSize.height / 2 + origin.y), 2));
spline->setTextureRect(Rect(0, 0, texturehight, 40));
//旋转
float x = touch->getLocation().x - visibleSize.width / 2.0f + origin.x;
float y = touch->getLocation().y - visibleSize.height / 2.0f + origin.y;
float f = GetRotationDegree(x, y);
spline->setRotation(f);
return true;
}
///////////////////获取旋转角度//////////////
float LineTest::GetRotationDegree(float x, float y)
{
if (x == 0 && y == 0)
{
return 0;
}
float result;
if (x == 0&&y>0)
{
return 90;
}
else if (x == 0 && y < 0)
{
return 180;
}
else
{
float temp = y / x;
result = - atan(temp) * 180.0 / M_PI;
if (x>0)
{
return result;
}
else
{
return result+180;
}
}
}
效果:
热心网友 时间:2022-04-12 14:16
ping 屏的ip地址,要在同一网段,设置s7online的网卡如果不行尝试用虚拟机或者换一台电脑下载。热心网友 时间:2022-04-12 15:34
付费内容限时免费查看回答您好,很高兴为您解答。ping 屏的ip地址,要在同一网段,设置s7online的网卡如果不行尝试用虚拟机或者换一台电脑下载。我上次也是换了一台电脑之后就可以了1:画面编辑软件需要使用WinCC_flexible_SMART_V3(目前最新的版本应该是SP2,如果屏幕订货较早,在下载时会提示你升级固件,点确定就行了)
2:笔记本与触摸屏直接连接必须使用交叉线(什么是交叉线自己百度)
3:笔记本通过交换机与触摸屏连接时可以使用双绞线
4:触摸屏下载好程序后与PLC连接时无论是直接连接还是通过交换机连接,都是使用双绞线
5:下载程序前需要对触摸屏进行IP地址以及其他连接选项进行设置(触摸屏开机后显示三个选项按钮,点最下边那个,进去后你看图标就能看出是什么功能
提问我去哪里找电脑
说了,等于没说,浪费表情
回答您稍等下,我再给您找下其他办法
根据TCP/IP协议,不是同一网段当然无法正常通行。所以在进行PLC和触摸屏的过程中,必须要设置好PLC和触摸屏、计算机,三个设备的IP都在同一网段而且不能重IP。子网页码也得对应当然一般都是24/8。
2.其次您看下您下载的方法是否正确。
a.初始状态下载;
b.已组态状态下载;
c.通过路由下载;
但现在唯一有效的解决办法就是借一下别人的电脑试下