小编Ton*_*_89的帖子

如何使Sprite遵循贝塞尔曲线

我是Objective-c和sprite kit的新手,但我已经做了一段时间的游戏开发.我目前正在进行2D游戏,我的敌人船只在屏幕上从右向左移动.我一直在关注游戏不同部分的教程,然后在必要时添加它.我找到了一个教程,其中游戏中的敌人遵循bezier路径并且我已经设法在我的游戏中实现这一点但是因为我是bezier曲线的新手我不完全理解它们并且算法使我的精灵从上到下移动但我需要它们从左到右.

我已经包含了我用来将贝塞尔曲线添加到我的精灵的代码片段,有关我如何让它们从右到左而不是从上到下移动的任何建议.

CGMutablePathRef cgpath = CGPathCreateMutable();

        float xStart = [self getRandomNumberBetween:0+asteroid.size.width to:self.frame.size.width-asteroid.size.width];
        float xEnd = [self getRandomNumberBetween:0+asteroid.size.width to:self.frame.size.width-asteroid.size.width];
        float cp1X =[self getRandomNumberBetween:0+asteroid.size.width to:self.frame.size.width-asteroid.size.width];
        float cp1y = [self getRandomNumberBetween:0+asteroid.size.width to:self.frame.size.width-asteroid.size.height];
        float cp2x = [self getRandomNumberBetween:0+asteroid.size.width to:self.frame.size.width-asteroid.size.width];
        float cp2Y = [self getRandomNumberBetween:0 to:cp1y];

        CGPoint s = CGPointMake(xStart, 1024.0);
        CGPoint e = CGPointMake(xEnd, -100);
        CGPoint cp1 = CGPointMake(cp1X, cp1y);
        CGPoint cp2 = CGPointMake(cp2x, cp2Y);
        CGPathMoveToPoint(cgpath, NULL, s.x, s.y);
        CGPathAddCurveToPoint(cgpath, NULL, cp1.x, cp1.y, cp2.x, cp2.y, e.x, e.y);

        SKAction *enemyCurve = [SKAction followPath:cgpath asOffset:NO …
Run Code Online (Sandbox Code Playgroud)

bezier 2d-games sprite-kit

8
推荐指数
1
解决办法
2240
查看次数

如何缩放矩形中绘制的阴影样式?

我正在使用.Net绘图来绘制图表.它本质上是一个堆积条形图.我的问题是我想减少填充样式中的线条数量,这样就可以将其缩小以使其更清晰.我环顾四周,但没有遇到任何可以帮助我的事情.

我绘制一个矩形,然后用一个舱口盖来填充它,但由于图像尺寸,影院填充变得不那么清晰了.谢谢你的任何建议.

hatchStyles和brush类型存储在db中,我使用辅助函数来返回它们.所以我画了矩形,拿到画笔后我填充了矩形.基本上我想扩大舱口填充,如果可以做到的话.

 g.DrawRectangle(gridpen, startX, startY, BOREHOLE_RECT_WIDTH, layerRectHeight);

 brush = GetBoreholeBrush(l.SoilTypeMatrixLevel1Id.PrimaryBrushType,
                          l.SoilTypeMatrixLevel1Id.PrimaryFillStyle, 
                          l.SoilTypeMatrixLevel1Id.PrimaryColour);

 g.FillRectangle(brush, startX, startY, BOREHOLE_RECT_WIDTH, layerRectHeight);
Run Code Online (Sandbox Code Playgroud)

和getBrush函数; 画笔类型,阴影样式和颜色存储在数据库中并用于创建返回的画笔:

    //===================================
    private Brush GetBoreholeBrush(string BrushType, string HatchStyle, string Colour)
    //===================================
    {
        //Decide on what brush type has been chosen.
        Brush brush;
        if (BrushType.ToLower() == BrushTypes.HatchBrush.ToString().ToLower())
        {
            brush = new HatchBrush(GetHatchStyle(HatchStyle), 
                                   Color.Black, ColorTranslator.FromHtml(Colour));
        }
        else if (BrushType.ToLower() == BrushTypes.SolidBrush.ToString().ToLower())
        {
            brush = new HatchBrush(GetHatchStyle(HatchStyle), 
                                   Color.Black, ColorTranslator.FromHtml(Colour));
        }
        else if (BrushType.ToLower() == BrushTypes.TextureBrush.ToString().ToLower())
        {
            brush = new HatchBrush(GetHatchStyle(HatchStyle), 
                                   Color.Black, ColorTranslator.FromHtml(Colour));
        }
        else …
Run Code Online (Sandbox Code Playgroud)

.net c# system.drawing

5
推荐指数
1
解决办法
1442
查看次数

在内存中创建 Zip Archive,并从 web api 返回它

所以我正在尝试创建一个 zip 存档并从我的 web api 返回它。从 angular 2 站点调用控制器。当前 zip 文件已创建,但当我打开它时,我收到一条无效消息。最初我在 using 语句中有流,但必须更改它,因为它们在请求完成之前被处理。

我需要的是创建 zip 文件,将 csv 文件添加到其内容中。然后返回zip文件。但是 zip 文件总是无效的。我已经阅读了需要处理 zip 存档才能写入其内容的内容,但是我不确定实现此目的的最佳方法是什么。感谢您的任何指导。

public async Task<IHttpActionResult> ExportReport(int id, ReportModel report)
    {
        try
        {
            var result = await ReportGenerationService.ExportReportForId(id, report.Page, report.PageSize, report.SortField, report.SortDir, report.SearchTerm, report.StartDate, report.EndDate, report.UserId, report.TeamId, report.SelectedDateItem);
            if (result != null)
            {

                var compressedFileStream = new MemoryStream();

                var zipArchive = new ZipArchive(compressedFileStream, ZipArchiveMode.Update, false);

                var zipEntry = zipArchive.CreateEntry("textExport.csv");
                var origionalFileSteam = new MemoryStream(result.ExportToBytes());
                var zipEntryStream = zipEntry.Open();
                origionalFileSteam.CopyTo(zipEntryStream);


                var response …
Run Code Online (Sandbox Code Playgroud)

.net c# memorystream asp.net-web-api2

4
推荐指数
2
解决办法
4104
查看次数

JqG​​rid检查是否选中了该行

嗨我试图检查是否在jqGrid中选择了一行,然后是否切换选择.

我知道我可以取消选择当前行

`.jqGrid('setSelection', rowid, false);`
Run Code Online (Sandbox Code Playgroud)

和

.jqGrid('resetSelection'); 
Run Code Online (Sandbox Code Playgroud)

将此应用于网格中的每一行.但我需要在取消选择之前检查行是否已经被选中.

但我需要做的是if语句检查选择的行是否被选中,如果是,那么做一些代码,但我不知道如何从行中获取true或false值.我已经尝试使用和警告来查看setSelection重新运行但它只显示[对象对象].感谢您的任何帮助.

javascript jquery jqgrid

1
推荐指数
1
解决办法
6093
查看次数