Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 如何制作可修改的蠕虫(形状)?_Silverlight - Fatal编程技术网

Silverlight 如何制作可修改的蠕虫(形状)?

Silverlight 如何制作可修改的蠕虫(形状)?,silverlight,Silverlight,我正在制作silverlight程序,用户可以在其中向地面添加蠕虫。虫子必须改变寓言。它们可以有三个或更多的控制点,用户可以在其中移动和编辑蠕虫。蜗杆必须具有最大和最小长度。它还必须穿上看起来像虫子的衣服。我用标准样条做了很好的蜗杆,但问题是最大和最小长度和装备。我不是在等待任何现成的代码,而是一些新的想法如何可以做到这一点 MSPaint制作的示例:)您可以使用Expression Blend中的画笔工具创建带有贝塞尔曲线的开放路径。然后,直接选择工具可以修改点,以获得所需的形状。如果在情节提

我正在制作silverlight程序,用户可以在其中向地面添加蠕虫。虫子必须改变寓言。它们可以有三个或更多的控制点,用户可以在其中移动和编辑蠕虫。蜗杆必须具有最大和最小长度。它还必须穿上看起来像虫子的衣服。我用标准样条做了很好的蜗杆,但问题是最大和最小长度和装备。我不是在等待任何现成的代码,而是一些新的想法如何可以做到这一点


MSPaint制作的示例:)

您可以使用Expression Blend中的画笔工具创建带有贝塞尔曲线的开放路径。然后,直接选择工具可以修改点,以获得所需的形状。如果在情节提要中执行此操作,Expression Blend将把路径数据扩展为未压缩格式,可以从代码隐藏中设置动画、命名和引用。下面是一个示例蠕虫:

<Grid x:Name="LayoutRoot" Background="White">
    <Grid.Resources>
        <Storyboard x:Name="wriggle">
            <PointAnimation Duration="0:0:0.7" To="59.4217224121094,11.1413049697876" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[1].(BezierSegment.Point1)" Storyboard.TargetName="wormBody" d:IsOptimized="True"/>
            <PointAnimation Duration="0:0:0.7" To="21.5,45.9078826904297" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[0].(BezierSegment.Point2)" Storyboard.TargetName="wormBody" d:IsOptimized="True"/>
            <PointAnimation Duration="0:0:0.7" To="9.25,28.6580047607422" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[0].(BezierSegment.Point1)" Storyboard.TargetName="wormBody" d:IsOptimized="True"/>
        </Storyboard>
    </Grid.Resources>
    <Path x:Name="wormBody" HorizontalAlignment="Left" Height="67.316" Margin="167,150.092,0,0" Stroke="Black" StrokeThickness="10" UseLayoutRounding="False" VerticalAlignment="Top" Width="91">
        <Path.Data>
            <PathGeometry FillRule="EvenOdd">
                <PathFigure IsFilled="True" IsClosed="False" StartPoint="5,62.3157653808594">
                    <BezierSegment Point3="42.2093734741211,24.9581699371338" Point2="4.49375009536743,30.3548755645752" Point1="35.375,53.3601760864258"/>
                    <BezierSegment Point3="86,5" Point2="73.8499984741211,24.9581699371338" Point1="54.1062507629395,22.6553039550781"/>
                </PathFigure>
            </PathGeometry>
        </Path.Data>
    </Path>
    <Ellipse HorizontalAlignment="Left" Height="15" Margin="246,146,0,0" Stroke="Black" StrokeThickness="10" VerticalAlignment="Top" Width="15"/>
</Grid>

+1用于请求蠕虫。