示例#1
0
        /// <summary>
        /// 指定した衝突チップを反転または回転させたビットマップを作る
        /// </summary>
        /// <param name="nCollisionChipNo">衝突チップ番号</param>
        /// <param name="nCollisionChipFlgs">衝突チップフラグ</param>
        /// <returns>ビットマップ</returns>
        public static Bitmap GetImageChipBitmap(ImageSquareTile tlImgF, Image rImg, int tileNo, int flag)
        {
            int       x  = tileNo % tlImgF.length;
            int       y  = tileNo / tlImgF.length;
            Rectangle rc = new Rectangle(x * 40, y * 40, 40, 40);

            return(GetImageChipBitmap(rImg, rc, flag));
        }
示例#2
0
        //##############################################################################
        //##############################################################################
        //##
        //##  読み込み
        //##
        //##############################################################################
        //##############################################################################
        #region 読み込み
        /// <summary>
        /// スクエア・イメージファイルデータ
        /// </summary>
        /// <param name="lData"></param>
        internal bool SquareTileRead(LoadData lData)
        {
            FSquareTileInfo info  = null;
            Chunk           chank = new Chunk();
            ImageSquareTile inImgFile;
            LoadChank       lChank, lChank02;
            LoadData        lData02;
            int             imgNo = 0;

            lData.GetChank(chank);
            inImgFile = new ImageSquareTile();
            while ((lChank = lData.FindData(inImgFile)) != null || !lData.GetFindEnd())
            {
                // ツリービューに反映
                //tNode = m_rTV.Nodes[0].Nodes[0].Nodes.Add(inImgFile.GetString());
                //tNode.ImageIndex = 2;
                //tNode.SelectedImageIndex = 3;
                //tNode.Name = TV_NAME_MAPCHIP_IMG;

                //-------------------------------------
                // マップチップ情報読み込み
                //-------------------------------------
                if (lChank != null)
                {
                    while ((lData02 = lChank.FindChank(chank)) != null)
                    {   // 通常1回のループのみ
                        //-------------------------------
                        // データが正しいかチェックする

                        info = new FSquareTileInfo();
                        while ((lChank02 = lData02.FindData(info)) != null || !lData02.GetFindEnd())
                        {
                            // データ内部部分書き込み
                            inImgFile.tileInfos.Add(info);
                            // これ以上入れ子は今のところない予定なので入れ子は無視
                            if (lChank02 != null)
                            {
                                Chunk chank2 = new Chunk();
                                lChank02.GetBlockChank(chank2);
                                // IDから処理選択
                                while ((lData02 = lChank02.FindChank(chank2)) != null)
                                {
                                    if (chank2.id == FAnmSquareTileHeader.ID)
                                    {
                                        ReadAnimationTile(lData02);
                                    }
                                    else
                                    {
                                        // AnmSquareTile.ID 以外のIDが今現在存在しないで
                                        // 怪しい値を見つけたらエラーをはき出すようにする
                                        throw new IOException("未対応のIDが呼ばれた。");
                                    }
                                }
                                lChank02 = null;
                            }
                            info = new FSquareTileInfo();
                        }
                        lData02 = null;
                    }
                }
                ReadedSquareImageEventCall(this, new ReadedSquareImageEvent(inImgFile));

                m_squareTileIndexs.Add(inImgFile.GetString());
                lChank    = null;
                inImgFile = new ImageSquareTile();
                ++imgNo;
            }
            inImgFile = null;
            return(true);
        }
示例#3
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="obj"></param>
 public ReadedSquareImageEvent(ImageSquareTile obj)
 {
     imageSquareTile = obj;
 }