Esempio n. 1
0
 private void remove_invisible_img(background_layer layer)
 {
     for (int i = layer.img_map.Count - 1; i >= 0; i--)
     {
         var element = layer.img_map.ElementAt(i);
         if (!is_img_visible(element.Value))
         {
             layer.img_map.Remove(element.Key);
             Destroy(element.Value);
         }
     }
 }
Esempio n. 2
0
    private void add_new_img(background_layer layer)
    {
        Vector2 position_miu = get_position_miu(layer.speed_rate, layer.set);

        float visible_x_left  = transform.position.x - (screen_width / 64.0f + img_x) / 2;
        float visible_x_right = visible_x_left + (screen_width / 64.0f + img_x);
        float visible_y_down  = transform.position.y - (screen_height / 64.0f + img_y) / 2;
        float visible_y_up    = visible_y_down + (screen_height / 64.0f + img_y);

        int x_low  = (int)((visible_x_left - position_miu.x) / img_x);
        int x_high = (int)((visible_x_right - position_miu.x) / img_x);
        int y_low  = (int)((visible_y_down - position_miu.y) / img_y);
        int y_high = (int)((visible_y_up - position_miu.y) / img_y);

        for (int i = x_low; i <= x_high; i++)
        {
            for (int j = y_low; j <= y_high; j++)
            {
                string key = i + "_" + j;
                if (!layer.img_map.ContainsKey(key))
                {
                    GameObject obj = Instantiate((layer.is_light ? image_obj_light : image_obj)) as GameObject;
                    obj.transform.parent        = layer.layer_obj.transform;
                    obj.transform.localPosition = new Vector3(i * img_x, j * img_y, 0);
                    if (j == 0)
                    {
                        if (layer.set.imgs[0] != null)
                        {
                            obj.GetComponent <SpriteRenderer>().sprite = layer.set.imgs[0];
                        }
                    }
                    else if (j > 0)
                    {
                        if (layer.set.imgs[1] != null)
                        {
                            obj.GetComponent <SpriteRenderer>().sprite = layer.set.imgs[1];
                        }
                    }
                    else
                    {
                        if (layer.set.imgs[2] != null)
                        {
                            obj.GetComponent <SpriteRenderer>().sprite = layer.set.imgs[2];
                        }
                    }
                    layer.img_map[key] = obj;
                }
            }
        }
    }
Esempio n. 3
0
    private void move_img(background_layer layer)
    {
        Vector2 position_miu = get_position_miu(layer.speed_rate, layer.set);

        layer.layer_obj.transform.position = new Vector3(position_miu.x + layer.set.position_x, position_miu.y + layer.set.position_y, layer.layer_obj.transform.position.z);
        // foreach (string key in layer.img_map.Keys)
        // {
        //     string[] index = key.Split('_');
        //     int index_x = int.Parse(index[0]);
        //     int index_y = int.Parse(index[1]);
        //     layer.img_map[key].transform.parent.position = new Vector3(index_x * img_x + position_miu.x, index_y * img_y + position_miu.y, layer.img_map[key].transform.parent.position.z);
        //     adjust_pixel(layer.img_map[key]);
        // }
    }
Esempio n. 4
0
    void Start()
    {
        player    = GameObject.Find("hero").GetComponent <player>();
        target    = player.transform.Find("sprite").gameObject;
        ui_group1 = GameObject.Find("ui_group1");
        ui_group2 = GameObject.Find("ui_group2");
        ui_group3 = GameObject.Find("ui_group3");
        loading   = GameObject.Find("loading");

        ui_group3_renderer_1 = ui_group3.transform.Find("ui_group3_1").gameObject;
        ui_group3_renderer_2 = ui_group3.transform.Find("ui_group3_2").gameObject;

        layer1 = GameObject.Find("layer1");
        layer2 = GameObject.Find("layer2");
        layer3 = GameObject.Find("layer3");
        layer4 = GameObject.Find("layer4");
        if (layer1 != null)
        {
            background_layer background_layer = new background_layer();
            background_layer.layer_obj      = layer1;
            background_layer.set            = layer1.GetComponent <background_set>();
            background_layer.speed_rate     = 1.0f;
            background_layer.is_light       = false;
            background_layer.pixel_basic    = target;
            background_layer.move_per_pixel = 10;
            layers.Add(background_layer);
        }
        if (layer2 != null)
        {
            background_layer background_layer = new background_layer();
            background_layer.layer_obj      = layer2;
            background_layer.set            = layer2.GetComponent <background_set>();
            background_layer.speed_rate     = 0.953125f;
            background_layer.is_light       = false;
            background_layer.pixel_basic    = layer1;
            background_layer.move_per_pixel = 8;
            layers.Add(background_layer);
        }
        if (layer3 != null)
        {
            background_layer background_layer = new background_layer();
            background_layer.layer_obj      = layer3;
            background_layer.set            = layer3.GetComponent <background_set>();
            background_layer.speed_rate     = 0.5f;
            background_layer.is_light       = true;
            background_layer.pixel_basic    = layer2;
            background_layer.move_per_pixel = 5;
            layers.Add(background_layer);

            background_layer.move_per_pixel = 5;
        }
        if (layer4 != null)
        {
            background_layer background_layer = new background_layer();
            background_layer.layer_obj   = layer4;
            background_layer.set         = layer4.GetComponent <background_set>();
            background_layer.speed_rate  = 0.296875f;
            background_layer.is_light    = true;
            background_layer.pixel_basic = layer3;
            layers.Add(background_layer);

            background_layer.move_per_pixel = 3;
        }

        background_mask = GameObject.Find("background_mask");

        image_obj       = Resources.Load("img_obj") as GameObject;
        image_obj_light = Resources.Load("img_obj_light") as GameObject;
        refresh_screen_size();

        transform.position = new Vector3(target.transform.position.x, target.transform.position.y, transform.position.z);


        switch (kind_of_map)
        {
        case 1:
            map_size_x = 4.5f;
            map_size_y = 0f;
            break;

        case 2:
            map_size_x = 31;
            map_size_y = 15;
            break;

        case 3:
            map_size_x = 15;
            map_size_y = 23;
            break;
        }
        map_size_x -= (int)(screen_width * 1.0f / reletive_rate / 2) / 64.0f;
        map_size_y -= (int)(screen_height * 1.0f / reletive_rate / 2) / 64.0f;
    }