コード例 #1
0
        //delegate void InitDelegate();
        //void Init()
        //{
        //    if (this.InvokeRequired)
        //        this.Invoke(new InitDelegate(_Init));
        //    else
        //        _Init();
        //}
        void Init(object sender, EventArgs args)
        {
            this.scenePattern    = Library.GetScenePattern("snptrn0");//new ScenePattern("ScenePattern");
            this.scene           = (Scene)this.soshiant33Panel.engine.AddChild(this.scenePattern, null);
            this.scene.رنگ_زمینه = this.BackColor;
            this.scene.Pause();
            //base Plane
            SpritePattern plane = new SpritePattern("Plane Pattern");
            SpriteState   state = plane.AddNewState("st0");

            state.صورت = "basePlane.x";
            state.AddNewKeyFrame(0);
            Sprite basePlane = (Sprite)scene.AddChild(plane, null);

            basePlane.مولفه_ها.موقعیت.z = 1000;
            //Target Sprite
            this.spritePattern = new SpritePattern("SpritePatern" + patternCounter++.ToString());
            this.sprite        = (Sprite)this.scene.AddChild(this.spritePattern, null);

            this.soshiant33Panel.engine.camera.Fly(250);
            this.soshiant33Panel.engine.camera.Pitch(0.4f);
            this.soshiant33Panel.engine.camera.Walk(220);
            this.soshiant33Panel.engine.Resize(this.soshiant33Panel.Width, this.soshiant33Panel.Height);
            //this.splitContainer2.SplitterDistance = 200;
            if (this.OnTurnedOn != null)
            {
                this.OnTurnedOn(this, null);
            }
        }
コード例 #2
0
 private void s33Panel1_DragEnter(object sender, DragEventArgs e)
 {
     e.Effect = DragDropEffects.Copy;
     if (e.Data.GetDataPresent(typeof(SpritePattern)) && !mouseIsDown)
     {
         SpritePattern pattern = (SpritePattern)e.Data.GetData(typeof(SpritePattern));
         ep.نام = pattern.نام + "_" + sceneChildsCounter++.ToString();
         SelectEntity(this.scene.AddChild(pattern, ep));
         mouseIsDown = true;
         new Thread(this.TransformChild).Start();
     }
 }
コード例 #3
0
        private void btn_clear_Click(object sender, EventArgs e)
        {
            this.scenePattern    = Library.GetScenePattern("ScenePattern_" + scenesCounter++.ToString());//new ScenePattern("ScenePattern_" + scenesCounter++.ToString());
            this.scene           = (Scene)this.s33Panel1.engine.AddChild(this.scenePattern, null);
            this.scene.رنگ_زمینه = this.BackColor;
            this.scene.Pause();
            //base Plane
            SpritePattern plane = new SpritePattern("Plane Pattern");
            SpriteState   state = plane.AddNewState("st0");

            state.صورت = "basePlane.x";
            state.AddNewKeyFrame(0);
            basePlane = (Sprite)this.scene.AddChild(plane, null);
            basePlane.مولفه_ها.موقعیت.z = 1000;
            s33Panel1_MouseUp(null, null);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: k-nrt/msxprojects
        static void CreateSpriteMode2(string strOutputName, Bitmap bitmap, Rectangle rectPatterns, ColorList colorList, ColorSpace colorSpace)
        {
            System.IO.StreamWriter writer = new System.IO.StreamWriter(strOutputName);

            for (int y = 0; y < rectPatterns.Height; y += 16)
            {
                int yy = rectPatterns.Y + y;
                for (int x = 0; x < rectPatterns.Width; x += 16)
                {
                    int xx = rectPatterns.X + x;

                    SpritePattern pattern0 = new SpritePattern();
                    SpritePattern pattern1 = new SpritePattern();

                    for (int i = 0; i < 16; i++)
                    {
                        //. 3 色探す.
                        Dictionary <int, int> dicIndexToBits = FindColors(bitmap, xx, yy + i, colorList, colorSpace);

                        pattern1.Colors[i] = 0x60;

                        if (dicIndexToBits.Count <= 0)
                        {
                            continue;
                        }

                        if (dicIndexToBits.Count <= 3)
                        {
                            pattern0.Colors[i] = dicIndexToBits.Keys.ElementAt(0);
                        }

                        if (dicIndexToBits.Count >= 2)
                        {
                            pattern1.Colors[i] |= dicIndexToBits.Keys.ElementAt(1);
                        }

                        for (int j = 0; j < 8; j++)
                        {
                            int leftIndex = colorList.GetNearestColor(bitmap.GetPixel(xx + j, yy + i), colorSpace);
                            if (dicIndexToBits.ContainsKey(leftIndex))
                            {
                                int leftBits = dicIndexToBits[leftIndex];
                                if ((leftBits & 0x1) == 0x1)
                                {
                                    pattern0.Patterns[i] |= 0x80 >> j;
                                }

                                if ((leftBits & 0x2) == 0x2)
                                {
                                    pattern1.Patterns[i] |= 0x80 >> j;
                                }
                            }

                            int rightIndex = colorList.GetNearestColor(bitmap.GetPixel(xx + 8 + j, yy + i), colorSpace);
                            if (dicIndexToBits.ContainsKey(rightIndex))
                            {
                                int rightBits = dicIndexToBits[rightIndex];
                                if ((rightBits & 0x1) == 0x1)
                                {
                                    pattern0.Patterns[16 + i] |= 0x80 >> j;
                                }

                                if ((rightBits & 0x2) == 0x2)
                                {
                                    pattern1.Patterns[16 + i] |= 0x80 >> j;
                                }
                            }
                        }
                    }

                    if (!pattern0.IsNull() && !pattern1.IsNull())
                    {
                        writer.WriteLine("\t//. 2.");
                        pattern0.WritePatterns(writer);
                        pattern1.WritePatterns(writer);
                        pattern0.WriteColors(writer);
                        pattern1.WriteColors(writer);
                    }
                    else if (!pattern0.IsNull())
                    {
                        writer.WriteLine("\t//. 1.");
                        pattern0.WritePatterns(writer);
                        pattern0.WriteColors(writer);
                    }
                }
            }

            writer.Close();
        }
コード例 #5
0
 public void JobFinished()
 {
     this.output = this.s33SpriteEditor1.spritePattern;
     this.Close();
 }