Beauty Salon α-BET (alphabet)

space001
Blender3d Collada dae modeling Use Papervision3d on Progression3 and 4 http://a-bet.secret.jp/#/access
more whaison works.
whaison space
space002
http://whaison.jugem.jp/ https://jp.pinterest.com/whaison/ https://www.instagram.com/whaison/ https://whaison.amebaownd.com/
https://suzuri.jp/whaison
http://whaison.blogspot.com/
http://whaison.tumblr.com/ http://qiita.com/users/whaison http://www.behance.net/whaison https://github.com/whaison/ https://bitbucket.org/whaison http://serato.com/user/whaison http://whaison.hatenablog.jp/

typo memo
http://d.hatena.ne.jp/whaison/


dayNote
http://www.myspace.com/whaison http://ameblo.jp/whaison/ http://blog.crooz.jp/whaison/ http://blog.crooz.jp/whaisoncafe/ http://nenpyo.org/whaison

fulldisk
http://full.shin-gen.jp/
http://whaison.client.jp/
http://www.dclog.jp/whaison/
featured forums.
space004
forum.unity3d.com/

forums.unrealengine.com.

Progression Forum.

FlashDevelop Forum.

Papervision3D Forum.

FlexUserGroup Forum.

SparkProjectForum.





Twitter







Mobile
qrcode
Calendar
SunMonTueWedThuFriSat
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>
New Entries
Archives
Categories
Recent comment
  • FlashDevelopでフォント埋め込み
    感謝!! (12/24)
  • cocos2d-x-3.0rc0 ,c++ ,cpp でTexturePacker で 吐き出した、plist と png でパラパラアニメーションのコード例
    whaison (04/17)
  • Blender2.67にbvh(web上に2500個以上ころがってる)入れてそのBoneオブジェクトをUnity4.0のmecanimで使う
    whaison (08/19)
  • Apple Dev Center 「Certificates, Identifiers & Profiles」で Adhoc をつくってXCode4.6.1でArchiveしてipaを書き出し
    whaison (04/30)
  • Flash CS6でプロパティーパネルで物理演算のジャンプの高さを設定できるCitrus Engine
    whaison (03/01)
  • 「Flash以外、例えばKinectとか」ON TOKYO (会場:高田馬場4-11-8 Floor 6階 ) 短縮URL http://bit.ly/dI0Bfx
    uka (03/02)
  • App Store Review Guidelines アップル社のアプリ審査基準ガイドライン和訳 Apple が 開発者を悩ませ ユーザーをハッピーにしたいガイドライン。w
    whaison (01/25)
  • Unity3d では ADOBE JAPAN OSAKIで行われたFITC 2010 TOKYOでは、 「iOS用にパブリッシュするためには、フリー版ではなくて、有料版を買ってください。さらに追加のパッケージである、"iOS Package (for Development)"を買ってください」とのことだった。
    whaison (01/25)
  • enjoy Adidas-Futsal-Park
    whaison (01/16)
  • MacBookAir にFlashPlayer入れたらなった。Mac Flash Player 10.1/10.2でUstream などでカメラが認識されないバグそんなときはUstreamProducer!でもなくiPhoneだと直ぐにライブ配信できた
    whaison (01/14)
simple sintax high lighter2.0
space003
SyntaxHighlighter2.0用 の貼り付けコード作成する!
ブログパーツ-BLOG PARTS.
Profile
Links
Recommend
Admin
無料ブログ作成サービス JUGEM
Seach this site
            
2014.10.16 Thursday
Unity C# 動的 配列 List(T).Sort(CompareByID)の戻り値はint じゃないとだめな件
Unity C# 動的 配列 List(T).Sort(CompareByID)の戻り値はint じゃないとだめな件

http://programmers.high-way.info/cs/list-sort.html
この方が説明されてはるけど。

intじゃないとダメとは書いてなくてflootの比較したくてflootしちゃってこまったちゃん
したい比較だけして
戻り値だけintにして

    private static int CompareByID (GameObject aGameObject b)
    {
        if (a.transform.position.y > b.transform.position.y) {
            return 1;
        }

        if (a.transform.position.y < b.transform.position.y) {
            return -1;
        }

        return 0;
    }

spriteSmallYtoLargeYが動的配列(List)だとして。
public List<GameObjectspriteSmallYtoLargeY;
 spriteSmallYtoLargeY.Sort (CompareByID);

ってやる。



全ソース


using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class SlotReelLines : MonoBehaviour
{

    public GameObject[] spriteObjects;
    public List<GameObjectspriteSmallYtoLargeY;
    public List<GameObjectspriteSmallYtoLargeY2;
    public float HighestspritY;
    public float ReelSpeed;
    public bool ReelLoopEnd = false;
    // Use this for initialization
    void Start ()
    {
        spriteObjects = GameObject.FindGameObjectsWithTag ("SlotFace");
        //Debug.Log ("spriteObjects.Length=" + spriteObjects.Length);

        spriteSmallYtoLargeY = new List<GameObject> ();
        spriteSmallYtoLargeY2 = new List<GameObject> ();
        HighestspritY = 2.49353f;
        ReelSpeed = 10.0f;
    }
    
    // Update is called once per frame
    void Update ()
    {
    
        int i = 0;
        spriteSmallYtoLargeY.Clear ();
        spriteSmallYtoLargeY.Add (spriteObjects [0]);

        if (ReelLoopEnd == false) {
            ReelSpeed -= 0.025f;
            if (ReelSpeed < 1.0f) {
                ReelSpeed = 0.9f;
            }
            //Debug.Log ("ReelSpeed=" + ReelSpeed);
            
            
            for (i=0i < spriteObjects.Lengthi++) {
                
                //Debug.Log ("---------------i=" + i);
                GameObject sp = spriteObjects [i];
                //別スクリプトの変数を取得
                //(スクリプト名は「SpriteObjectNumber」、変数名は「spObNum」)
                int spNum = sp.GetComponent<SpriteObjectNumber> ().spObNum;
                
                
                
                if (sp.transform.position.y < -2.0f) {
                    Debug.Log ("///////RollUp Timing////////HighestspritY=" + HighestspritY);
                    //sp.transform.position = new Vector3 (sp.transform.position.x2.9fsp.transform.position.z);
                    sp.transform.position = new Vector3 (sp.transform.position.xHighestspritYsp.transform.position.z);
                    if (ReelSpeed < 1.0f) {
                        if (spNum == 3) {//be a default position
                            ReelSpeed = 0.0f;
                            ReelLoopEnd = true;
                        }
                    }
                    
                } else {

                    //sp.transform.position -= new Vector3 (sp.transform.position.xTime.deltaTime * 10.0fsp.transform.position.z);
                    sp.transform.position -= new Vector3 (sp.transform.position.x, (Time.deltaTime * ReelSpeed), sp.transform.position.z);
                    //Debug.Log ("//////////////////////Move/////sp.transform.position.y=" + sp.transform.position.y);

                    
                }
                //Debug.Log(spNum+"sp.transform.position.y="+sp.transform.position.y);
                ///////http://myoujing.wpblog.jp/2014/08/874/
                //Debug.Log ("spriteSmallYtoLargeY[" + i + "].transform.position.y=" + spriteSmallYtoLargeY [i].transform.position.y);
                //Debug.Log ("sp.transform.position.y=" + sp.transform.position.y);

  
                spriteSmallYtoLargeY.Add (sp);


            }
            ////http://programmers.high-way.info/cs/list-sort.html
            ///spriteSmallYtoLargeY.Sort ((ab) => a.transform.position.y - b.transform.position.y );//   can't use
            /// //http://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/
            //Debug.Log ("///  Sort////////////////////////////////////");
            //spriteObjects.Sort(CompareByID);
            spriteSmallYtoLargeY.Sort (CompareByID);
  

            ////////////////////////////////
            string debugstr = "";
            int v = 0;
            for (v=0v < spriteSmallYtoLargeY.Count-1v++) {
                debugstr += "(" + v + ")y=" + spriteSmallYtoLargeY [v].transform.position.y;
            }
            Debug.Log ("spriteSmallYtoLargeY===" + debugstr);

            HighestspritY = spriteSmallYtoLargeY [(spriteSmallYtoLargeY.Count - 1)].transform.position.y;
            //Debug.Log ("4==" + spriteSmallYtoLargeY [(spriteSmallYtoLargeY.Count - 1)].transform.position.y);
            //Debug.Log ("3==" + spriteSmallYtoLargeY [(spriteSmallYtoLargeY.Count - 2)].transform.position.y);
            //HighestspritY=HighestspritY+(HighestspritY-spriteSmallYtoLargeY [spriteSmallYtoLargeY.Count-2].transform.position.y);
            float SaY = (HighestspritY - spriteSmallYtoLargeY [(spriteSmallYtoLargeY.Count - 2)].transform.position.y);
            Debug.Log ("SaY=" + SaY);
            //float SaY2 = 0.9887609f;
            //SaY2 = 0.9887609f;
            SaY = 0.8f;
            HighestspritY = HighestspritY + SaY;

            //Debug.Log ("HighestspritY="+HighestspritY);
        }//if ReelEnd=true
    }

    private static int
| whaison | Unity3d | 16:44 | comments(0) | - | pookmark |
Comment




whaisonStudyNoteBook をFaceBookで いいね!





Share |