예제 #1
0
    // ================================================================ //

    public void             create()
    {
        Navi navi = Navi.get();

        //

        this.root_sprite = Sprite2DRoot.get().createNull();
        this.root_sprite.setPosition(new Vector3(0.0f, POSITION_Y, 0.0f));

        // 아이콘, 문자 오브젝트 생성.

        this.icon = new Yell.Icon();
        this.icon.create(this.icon_texture);
        this.icon.sprite.transform.parent = this.root_sprite.transform;

        //

        this.mojis = new List <Yell.Moji>();

        for (int i = 0; i < this.yell_words.Length; i++)
        {
            YellFontData font_data = navi.getYellFontData(this.yell_words[i]);

            Yell.Moji moji = new Yell.Moji();

            moji.create(font_data.texture, this.moji_mae_texture);

            if (font_data.is_small)
            {
                moji.moji_mae_scale *= 0.5f;
            }
            moji.yell  = this;
            moji.index = i;
            moji.sprite.transform.parent = this.root_sprite.transform;
            moji.reset();

            if (i % 3 == 0)
            {
                moji.sprite.setVertexColor(new Color(1.0f, 1.0f, 0.5f));
            }
            else if (i % 3 == 1)
            {
                moji.sprite.setVertexColor(new Color(1.0f, 0.7f, 0.7f));
            }
            else if (i % 3 == 2)
            {
                moji.sprite.setVertexColor(new Color(0.3f, 1.0f, 1.0f));
            }

            this.mojis.Add(moji);
        }

        this.icon.sprite.setDepth(this.mojis[this.mojis.Count - 1].sprite.getDepth() - 0.1f);

        // 문자 위치.

        float   pitch = 54.0f;
        Vector2 p0    = Vector2.zero;
        Vector2 p1    = Vector2.zero;

        p0.x = (float)this.mojis.Count * pitch / 2.0f;
        p0.y = 0.0f;

        p1.x = 0.0f - ((float)this.mojis.Count) * pitch / 2.0f - pitch / 2.0f;
        p1.y = p0.y;

        this.icon.p0 = p0;
        this.icon.p1 = p1;
        p1.x        += pitch;

        p0.x = p1.x;

        for (int i = 0; i < this.mojis.Count; i++)
        {
            YellFontData font_data = navi.getYellFontData(this.yell_words[i]);

            this.mojis[i].p0 = p0;
            this.mojis[i].reset();

            if (font_data.is_small)
            {
                this.mojis[i].p0.x -= pitch * 0.25f;
                this.mojis[i].p0.y -= pitch * 0.25f;

                p0.x += pitch * 0.5f;
            }
            else
            {
                p0.x += pitch;
            }
        }
    }
예제 #2
0
파일: YellDisp.cs 프로젝트: fotoco/006772
	// ================================================================ //

	public void		create()
	{
		Navi	navi = Navi.get();

		//

		this.root_sprite = Sprite2DRoot.get().createNull();
		this.root_sprite.setPosition(new Vector3(0.0f, POSITION_Y, 0.0f));

		// 아이콘, 문자 오브젝트 생성.

		this.icon = new Yell.Icon();
		this.icon.create(this.icon_texture);
		this.icon.sprite.transform.parent = this.root_sprite.transform;

		//

		this.mojis = new List<Yell.Moji>();

		for(int i = 0;i < this.yell_words.Length;i++) {

			YellFontData	font_data = navi.getYellFontData(this.yell_words[i]);

			Yell.Moji	moji = new Yell.Moji();

			moji.create(font_data.texture, this.moji_mae_texture);

			if(font_data.is_small) {

				moji.moji_mae_scale *= 0.5f;
			}
			moji.yell = this;
			moji.index = i;
			moji.sprite.transform.parent = this.root_sprite.transform;
			moji.reset();

			if(i%3 == 0) {

				moji.sprite.setVertexColor(new Color(1.0f, 1.0f, 0.5f));

			} else if(i%3 == 1) {

				moji.sprite.setVertexColor(new Color(1.0f, 0.7f, 0.7f));

			} else if(i%3 == 2) {

				moji.sprite.setVertexColor(new Color(0.3f, 1.0f, 1.0f));
			}

			this.mojis.Add(moji);
		}

		this.icon.sprite.setDepth(this.mojis[this.mojis.Count - 1].sprite.getDepth() - 0.1f);

		// 문자 위치.

		float		pitch = 54.0f;
		Vector2		p0 = Vector2.zero;
		Vector2		p1 = Vector2.zero;

		p0.x = (float)this.mojis.Count*pitch/2.0f;
		p0.y = 0.0f;

		p1.x = 0.0f - ((float)this.mojis.Count)*pitch/2.0f - pitch/2.0f;
		p1.y = p0.y;

		this.icon.p0 = p0;
		this.icon.p1 = p1;
		p1.x += pitch;

		p0.x = p1.x;

		for(int i = 0;i < this.mojis.Count;i++) {

			YellFontData	font_data = navi.getYellFontData(this.yell_words[i]);

			this.mojis[i].p0 = p0;
			this.mojis[i].reset();

			if(font_data.is_small) {

				this.mojis[i].p0.x -= pitch*0.25f;
				this.mojis[i].p0.y -= pitch*0.25f;

				p0.x += pitch*0.5f;

			} else {

				p0.x += pitch;
			}
		}

	}