目前分類:程式設計 (340)

瀏覽方式: 標題列表 簡短摘要

android2.2获取当前系统语言
Locale.getDefault().getLanguage(),返回值如:es,zh

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(1) 人氣()

preferredLanguages:

language code = en, display name = English, in language = English

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

練習各種php資訊轉為json格式寫法

<?php

, , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

今天為了要暫存檔案所以上網找了一下資源

發現www.texture 要改成使用www.LoadFromCacheOrDownload 是不可能的,因為前者可以直接使用www.texture存取資源,後者只適用於加載 AssetBundle

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

python -m pip install -U pip

pip install -U setuptools

, , , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(2) 人氣()

http://www.cg.com.tw/Unity/htm/Unity_030.asp

您是否曾經在使用 Unity 的過程遇到難以解決的問題?透過 Unity 顯示的錯誤訊息通常可以找出原因,並且進一步尋找解決的方法。此外,若遇到正常操作不該發生的問題,有時先存檔並關閉 Unity 程式,再重新開啟 Unity 或許就可以排除問題。

, , , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(1) 人氣()

如題,要判斷語系如cn, tw可以使用

string systemName = System.Globalization.CultureInfo.CurrentCulture.Name; // en-US 

, , , , , , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

刪除.subversion/auth 檔案或資料夾
指令如下:

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

public class SVNUtils
    {
        public static bool Cancel;
        private readonly SvnClient SC;
        private string path;
        private string prog;
        private string svnurl;
        public SVNUtils()
        {
            svnurl = "svn://127.0.0.1:" + TCS.Config.AppConfig.RunTime.SVNPort.ToString();
            SC = new SvnClient();
            SvnUriTarget rem = new SvnUriTarget(svnurl);
            SC.Authentication.ClearAuthenticationCache();
            SC.Authentication.Clear();
            SC.Authentication.DefaultCredentials = new SvnCredentialProvider(
                  TCS.Config.AppConfig.RunTime.SVNUsername,
                   TCS.Config.AppConfig.RunTime.SVNPassword,
                    svnurl);//默认用户名密码
        }
        public bool Commit()
        {
            Console.WriteLine("开始检查是否需要提交新参数表...");
            SvnCommitArgs ca = new SvnCommitArgs();
            SvnStatusArgs sa = new SvnStatusArgs();
            Collection<SvnStatusEventArgs> statuses;
            SC.GetStatus(GetAppLoc(), sa, out statuses);
            int i = 0;
            foreach (var item in statuses)
            {
                if (item.LocalContentStatus != item.RemoteContentStatus)
                {
                    i++;
                }
                if (!item.Versioned)
                {
                    SC.Add(item.FullPath);
                    Console.WriteLine("新增加文件" + item.FullPath);
                    i++;
                }
                else if (item.Conflicted)
                {
                    SC.Resolve(item.FullPath, SvnAccept.Working);
                    Console.WriteLine("处理冲突文件" + item.FullPath);
                }
                else if (item.IsRemoteUpdated)
                {
                    SC.Update(item.FullPath);
                    Console.WriteLine("处理冲突文件" + item.FullPath);
                }
                else if (item.LocalContentStatus == SvnStatus.Missing)
                {
                    SC.Delete(item.FullPath);
                    Console.WriteLine("处理丢失文件" + item.FullPath);
                    i++;
                }
            }
            if (i > 0)
            {
                ca.LogMessage = "";
                SvnCommitResult scr;
                if (SC.Commit(GetAppLoc(), ca, out scr))
                {
                    Console.WriteLine("提交完成");
                }
                else
                {
                    Console.WriteLine("提交失败");
                }
            }
            else
            {
                Console.WriteLine("无变化,无需检查");
            }


            return true;
        }
        /// <summary>
        /// 获取本地工作副本svn路径
        /// </summary>
        /// <returns></returns>
        public string GetAppLoc()
        {
            return Comm.parentPath + Comm.issuedPath;
        }
        /// <summary>
        /// 检查版本号,如果版本号不符, 则更新
        /// </summary>
        /// <returns></returns>
        public bool CheckVer()
        {
            bool result = true;
            var repos = new SvnUriTarget(svnurl);
            var local = new SvnPathTarget(GetAppLoc());
            try
            {
                notiny = "正在检查服务器版本...";
                ShowInfo();
                SvnInfoEventArgs serverInfo;
                bool oks = SC.GetInfo(repos, out serverInfo);
                notiny = "正在检查本地版本...";
                ShowInfo();
                SvnInfoEventArgs clientInfo;
                bool okc = SC.GetInfo(local, out clientInfo);
                if (oks && okc) //如果客户端服务端都会成功, 则对比服务器版本, 否则返回true 执行更新命令
                {
                    result = (serverInfo.Revision > clientInfo.Revision);
                }
                ShowInfo(string.Format("检查完毕,服务器版本{0}客户端版本{1}",
                                       (serverInfo != null ? serverInfo.Revision.ToString() : "(未知)"),
                                       (clientInfo != null ? clientInfo.Revision.ToString() : "(未知)")
                             ));
            }
            catch (Exception)
            {
                ShowInfo("检查文件是出现错误...");
            }
            return result;
        }
        /// <summary>
        /// 初始化 如果没有被管理,则签出
        /// </summary>
        /// <returns></returns>
        public bool Init()
        {
            ShowInfo("正在初始化....");
            bool result = true;
            HandEvents();
            if (!SvnTools.IsManagedPath(GetAppLoc()))//查看某目录是否是受svn管理的状态, 即是否为工作副本
            {
                notiny = "正在检出文件.";
                ShowInfo();
                result = SC.CheckOut(new SvnUriTarget(svnurl), GetAppLoc());
                ShowInfo("文件检出完成.");
            }
            ShowInfo("初始化完毕.");
            return result;
        }
        /// <summary>
        /// 委托各种事件。
        /// </summary>
        private void HandEvents()
        {
            SC.Authentication.UserNamePasswordHandlers += Authentication_UserNamePasswordHandlers;
            SC.Authentication.UserNameHandlers += Authentication_UserNameHandlers;
            SC.Progress += SC_Progress;
            SC.Processing += SC_Processing;
            SC.Notify += SC_Notify;
            SC.SvnError += SC_SvnError;
            SC.Conflict += SC_Conflict;
            SC.Cancel += SC_Cancel;
            SC.Committed += SC_Committed;
            SC.Committing += SC_Committing;
        }
        /// <summary>
        /// 提交过程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void SC_Committing(object sender, SvnCommittingEventArgs e)
        {
            ShowInfo("正在提交");
        }
        /// <summary>
        /// 提交完成后
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void SC_Committed(object sender, SvnCommittedEventArgs e)
        {
            ShowInfo("提交完成" + e.Revision);
        }
        /// <summary>
        /// 被取消
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SC_Cancel(object sender, SvnCancelEventArgs e)
        {
            e.Cancel = Cancel;
        }
        /// <summary>
        /// 遇到文件冲突
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SC_Conflict(object sender, SvnConflictEventArgs e)
        {
            ShowInfo("文件冲突" + e.ConflictReason.ToString());
        }
        /// <summary>
        /// 任何svn错误可以在这处理,也可以在这里处理是否取消
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SC_SvnError(object sender, SvnErrorEventArgs e)
        {
            e.Cancel = true;
            WriteError(e.Exception);
        }
        /// <summary>
        /// 输出错误
        /// </summary>
        /// <param name="e_Exception"></param>
        public void WriteError(Exception e_Exception)
        {
            ShowInfo(e_Exception.Message + e_Exception.Source + "\r\n"
                     + e_Exception.StackTrace + "\r\n"
                     );
        }
        /// <summary>
        /// 处理某项操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SC_Processing(object sender, SvnProcessingEventArgs e)
        {
            Console.SetCursorPosition(0, Console.CursorTop);
            Console.Write("正在处理操作" + e.CommandType.ToString() + ".......");
        }
        /// <summary>
        /// 处理过程,进度,,比如传送的字节数等显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SC_Progress(object sender, SvnProgressEventArgs e)
        {
            if (e.Progress == 0)
            {
                prog = "";
            }
            else
            {
                if (e.TotalProgress ==
                    -1)
                {
                    if (e.Progress > 1024)
                    {
                        prog = ((float)(e.Progress) / 1024F).ToString("0.00") + "KB";
                    }
                    else
                    {
                        prog = ((float)(e.Progress)).ToString("0.00") + "Bytes";
                    }
                }
                else
                {
                    prog = (e.Progress).ToString("0.00");
                }
            }
            ShowInfo();
        }
        public void ShowInfo()
        {
            Console.SetCursorPosition(0, Console.CursorTop);
            Console.Write(notiny + (string.IsNullOrWhiteSpace(prog) ? "" : "(" + prog + ")"));
        }
        public void ShowInfo(string info)
        {
            Console.WriteLine(info);
        }
        public bool Update(int i)
        {
            bool ok = false;
            try
            {
                var sua = new SvnUpdateArgs { Revision = new SvnRevision(i) };
                events();
                ok = SC.CleanUp(GetAppLoc());
                ok = SC.Update(GetAppLoc(), sua);
            }
            catch (Exception ex)
            {
                ShowInfo("更新时遇到问题:" + ex.Message + "\r\n");
                WriteError(ex);
            }
            ShowInfo("更新完成....");
            return ok;
        }
        public bool Update()
        {
            ShowInfo("正在更新....");
            SC.CleanUp(GetAppLoc());
            bool ok = SC.Update(GetAppLoc());
            if (!ok)
            {
                ShowInfo("未成功,正在清理...");
                SC.CleanUp(GetAppLoc());
                ShowInfo("清理完毕,正在更新....");
                ok = SC.Update(GetAppLoc());
                if (!ok)
                {
                    ShowInfo("正在撤销本地修改....");
                    SC.Revert(GetAppLoc());
                    ShowInfo("正在清理....");
                    SC.CleanUp(GetAppLoc());
                    ShowInfo("正在更新....");
                    ok = SC.Update(GetAppLoc());
                }
            }
            ShowInfo("更新操作完成");
            return ok;
        }
        private void Authentication_UserNameHandlers(object sender, SvnUserNameEventArgs e)
        {
            e.UserName = TCS.Config.AppConfig.RunTime.SVNUsername;
        }
        private void Authentication_UserNamePasswordHandlers(object sender, SvnUserNamePasswordEventArgs e)
        {
            e.Password = TCS.Config.AppConfig.RunTime.SVNPassword;
            e.UserName = TCS.Config.AppConfig.RunTime.SVNUsername;
        }
        #region 提示信息
        private string notiny;
        private void SC_Notify(object sender, SvnNotifyEventArgs e)
        {
            notiny = string.Format("{0}:{1}.", getstringact(e.Action), new FileInfo(e.FullPath).Name);
            ShowInfo();
        }
        #endregion
        #region 提示信息中文对照
        public string getstringact(SvnNotifyAction act)
        {
            string result = null;
            switch (act)
            {
                case SvnNotifyAction.Add:
                    result = "添加";
                    break;
                case SvnNotifyAction.BlameRevision:
                    break;
                case SvnNotifyAction.ChangeListClear:
                    break;
                case SvnNotifyAction.ChangeListMoved:
                    break;
                case SvnNotifyAction.ChangeListSet:
                    break;
                case SvnNotifyAction.CommitAddCopy:
                    result = "提交添加副本";
                    break;
                case SvnNotifyAction.CommitAdded:
                    break;
                case SvnNotifyAction.CommitDeleted:
                    break;
                case SvnNotifyAction.CommitModified:
                    break;
                case SvnNotifyAction.CommitReplaced:
                    break;
                case SvnNotifyAction.CommitReplacedWithCopy:
                    break;
                case SvnNotifyAction.CommitSendData:
                    break;
                case SvnNotifyAction.Copy:
                    break;
                case SvnNotifyAction.Delete:
                    break;
                case SvnNotifyAction.Excluded:
                    result = "要排除";
                    break;
                case SvnNotifyAction.Exists:
                    result = "已存在";
                    break;
                case SvnNotifyAction.ExternalFailed:
                    result = "外部失败";
                    break;
                case SvnNotifyAction.FailedConflict:
                    result = "失败冲突";
                    break;
                case SvnNotifyAction.FailedForbiddenByServer:
                    break;
                case SvnNotifyAction.FailedLocked:
                    break;
                case SvnNotifyAction.FailedMissing:
                    break;
                case SvnNotifyAction.FailedNoParent:
                    break;
                case SvnNotifyAction.FailedOutOfDate:
                    result = "已过期且失败";
                    break;
                case SvnNotifyAction.FollowUrlRedirect:
                    break;
                case SvnNotifyAction.LockFailedLock:
                    break;
                case SvnNotifyAction.LockFailedUnlock:
                    break;
                case SvnNotifyAction.LockLocked:
                    break;
                case SvnNotifyAction.LockUnlocked:
                    break;
                case SvnNotifyAction.MergeBegin:
                    break;
                case SvnNotifyAction.MergeBeginForeign:
                    break;
                case SvnNotifyAction.MergeCompleted:
                    break;
                case SvnNotifyAction.NonExistentPath:
                    break;
                case SvnNotifyAction.PatchApplied:
                    break;
                case SvnNotifyAction.PatchAppliedHunk:
                    break;
                case SvnNotifyAction.PatchFoundAlreadyApplied:
                    break;
                case SvnNotifyAction.PatchRejectedHunk:
                    break;
                case SvnNotifyAction.PropertyAdded:
                    break;
                case SvnNotifyAction.PropertyDeleted:
                    break;
                case SvnNotifyAction.PropertyDeletedNonExistent:
                    break;
                case SvnNotifyAction.PropertyModified:
                    break;
                case SvnNotifyAction.RecordMergeInfo:
                    break;
                case SvnNotifyAction.RecordMergeInfoElided:
                    break;
                case SvnNotifyAction.RecordMergeInfoStarted:
                    break;
                case SvnNotifyAction.Resolved:
                    break;
                case SvnNotifyAction.Restore:
                    result = "恢复";
                    break;
                case SvnNotifyAction.Revert:
                    result = "还原";
                    break;
                case SvnNotifyAction.RevertFailed:
                    result = "还原失败";
                    break;
                case SvnNotifyAction.RevisionPropertyDeleted:
                    break;
                case SvnNotifyAction.RevisionPropertySet:
                    break;
                case SvnNotifyAction.Skip:
                    result = "跳过";
                    break;
                case SvnNotifyAction.SkipConflicted:
                    result = "跳过冲突";
                    break;
                case SvnNotifyAction.StatusCompleted:
                    result = "状态已完成";
                    break;
                case SvnNotifyAction.StatusExternal:
                    break;
                case SvnNotifyAction.TreeConflict:
                    result = "数冲突";
                    break;
                case SvnNotifyAction.UpdateAdd:
                    result = "更新新增";
                    break;
                case SvnNotifyAction.UpdateCompleted:
                    result = "更新已完成";
                    break;
                case SvnNotifyAction.UpdateDelete:
                    result = "更新删除";
                    break;
                case SvnNotifyAction.UpdateExternal:
                    result = "更新外部";
                    break;
                case SvnNotifyAction.UpdateExternalRemoved:
                    result = "更新外部已删除";
                    break;
                case SvnNotifyAction.UpdateReplace:
                    result = "更新替换";
                    break;
                case SvnNotifyAction.UpdateShadowedAdd:
                    break;
                case SvnNotifyAction.UpdateShadowedDelete:
                    break;
                case SvnNotifyAction.UpdateShadowedUpdate:
                    break;
                case SvnNotifyAction.UpdateSkipAccessDenied:
                    break;
                case SvnNotifyAction.UpdateSkipObstruction:
                    break;
                case SvnNotifyAction.UpdateSkipWorkingOnly:
                    break;
                case SvnNotifyAction.UpdateStarted:
                    result = "更新已开始";
                    break;
                case SvnNotifyAction.UpdateUpdate:
                    result = "更新修改";
                    break;
                case SvnNotifyAction.UpgradedDirectory:
                    result = "更新目录";
                    break;
            }
            return result ?? (result = act.ToString());
        }
        #endregion
    }


狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

此為自動產生繼承monobehavior物件

using UnityEngine;

, , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

出處:http://dsqiu.iteye.com/blog/2017655

如題

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

工作遇到需要等StartCoroutine 跑完後 取得變數,如截圖後取得圖檔路徑等

方法如下:

, , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

在整合unity 呼叫android 方法時,若出現如下錯誤

Can't create handler inside thread that has not called Looper.prepare()

, , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

顯示隱藏檔案]
首先在終端機上貼上以下指令,貼上後按下 Return ▼

代碼:
, , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

UIApplication物件及其代理UIApplicationDelegate

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

Tells the delegate that the launch process is almost done and the app is almost ready to run.

(告訴delegate啟動進程即將完成,應用程式即將開始運行)

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

首先,要說明一下Other Linker Flags到底是用來幹嘛的。說白了,就是ld命令除了默認參數外的其他參數。ld命令實現的是連結器的工作,詳細說明可以在終端man ld查看。

如果有人不清楚連結器是什麼東西的話,我可以作個簡單的說明。

, , , , , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

countries = [
{'timezones': ['Europe/Andorra'], 'code': 'AD', 'continent': 'Europe', 'name': 'Andorra', 'capital': 'Andorra la Vella'},

, , , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

【Eclipse】中文亂碼解決方法:環境編碼設定改 UTF-8

 
有時候打開一些別人的專案,或是以前所寫的程式,會發現怎麼中文都變成亂碼,不僅無法辨識,也無法編譯,Eclipse 的程式檔的圖示上,會有一個紅色的小叉叉。這是由於檔案的編碼和開發工具的環境編碼不一致的緣故。
, , ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

svn remove --force filename
svn resolve --accept=working  filename
svn commit

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼