【发布时间】:2012-02-14 08:43:07
【问题描述】:
与此主题相关的其他问题似乎并不能帮助我很好地理解它。我刚刚开始使用 Visual Studio 和 Direct2D 进行编程,但我无法理解如何制作两个“眼睛”,它们是椭圆内的椭圆,跟随我的鼠标。
我正在使用的函数void MainWindow::CalculateLayout()内部
const float radius3=radius/4;
const float radius3_2=radius/5;
const float x3=x-100;
const float y3=y-150;
ellipse3 = D2D1::Ellipse(D2D1::Point2F(x3, y3), radius3, radius3_2);
//left eye
const float radius4=radius/4;
const float radius4_2=radius/5;
const float x4=x+100;
const float y4=y-150;
ellipse4 = D2D1::Ellipse(D2D1::Point2F(x4, y4), radius4, radius4_2);
//right eye
const float radius5=radius/8;
const float radius5_2=radius5/2;
const float x5=x-100;
const float y5=y-150;
ellipse5 = D2D1::Ellipse(D2D1::Point2F(x5, y5), radius5, radius5_2);
// left eyeball
const float radius6=radius/8;
const float radius6_2=radius6/2;
const float x6=x+100;
const float y6=y-150;
ellipse6 = D2D1::Ellipse(D2D1::Point2F(x6, y6), radius6, radius6_2);
// right eyeball
设置眼睛和眼球所在的位置。我认为应该使用类似于this 的东西来控制鼠标的位置。我试图从一个空白项目而不是从一个表格中做到这一点。是否可以简单地将const float x5=x-100 替换为X 的MouseMove 值?
【问题讨论】:
-
您知道,C++ 允许您使用没有数字后缀的变量名。因此,例如 ellipse3 可以是 leftEyeEllipse 等。那么您不需要
//left eye评论。稍后尝试阅读您的代码的其他人会感谢您。 :)
标签: c++ visual-studio-2010 direct2d