原创 IGraph筆記-使用VS調用igraph靜態庫

源碼下載及編譯 目前最新版本iGraph0.8.0,下載路徑如下: https://download.csdn.net/download/XIANG__jiangsu/12179284 下載好後解壓,運行igraph工程,重新編

原创 C++ 智能指針詳解

C++ 智能指針詳解 一、簡介 由於 C++ 語言沒有自動內存回收機制,程序員每次 new 出來的內存都要手動 delete。程序員忘記 delete,流程太複雜,最終導致沒有 delete,異常導致程序過早退出,沒有執行 delete

原创 計算機操作系統---處理機(進程)管理

在傳統的多道程序系統中,處理機的分配和運行,都是以進程爲基本單位,因而對處理機的管理,可歸結爲對進程管理,對進程的管理主要有包括:進程控制、進程同步、進程通信、進程調度。 一、進程的基本概念 1、程序的執行方式      順序執行的特徵

原创 等高線回放水平偏差計算方法 Python

import arcpy import os arcpy.env.overwriteOutput=True Table=arcpy.env.scratchGDB a=arcpy.GetParameterAsText(

原创 Cocos2d-x基礎知識相關

1.Cocos2dx內存管理機制 智能指針:C++中三種存儲方式:自動、靜態、動態存儲。自動能正確釋放,動態需手動釋放,智能指針將動態分配的內存單元與自動變量關聯(unique_ptr:不能與其他智能指針共享所指對象內存;shared

原创 Cocos2dx 事件響應機制(1): GLView

CCGLView.cpp: 部分代碼註釋如下,由於作者是在windows下閱讀的代碼,因此這裏的CCGLView的路徑爲【 cocos2d\cocos\platform\desktop\CCGLView.cpp 】:

原创 現代操作系統-學習筆記

1 引論 1.1 計算機硬件介紹 1.1.1 處理器 1.2 操作系統概念 1.2.1 進程(簡述) 2 進程與線程 2.1 進程 2.2 線程 2.3 進程間通行 2.3.1 競爭條件 2.3.2 臨界區 2.3.3 忙

原创 遊戲引擎架構-學習筆記

5 遊戲支持系統 5.1 子系統的啓動和終止 5.1.1 c++的靜態初始化次序 5.2 內存管理 5.2.1 優化動態內存分佈 5.2.2 內存碎片 5.2.3 緩存一致性 7 遊戲循環及實時模擬 7.1 渲染循環 7.

原创 Cocos2dx Render繪製系統

1 繪製系統概覽 cocos-2dx 3.0之前,元素的繪製邏輯分佈在元素內部的draw()方法內,因此緊密地依賴UI樹的遍歷,這種捆綁式的架構通常難易優化。爲什麼呢?因爲UI樹的遍歷順序直接決定了元素的繪製順序,我們便無法通過優化繪製序

原创 Cocos2dx CCLabel

本文對CCLabel的實現進行相關介紹: 1 一般性繪製流程 繪製流程與之前介紹的Render常規性流程保持一致,其入口爲visit: void Label::visit(Renderer *renderer, const Mat4 &p

原创 lua 自定義控件及動畫控制(1) ---- 實現自定義滑動控件

1 lua控件基類 _class = {} local UIBase = class("UIBase",cc.Node) function UIBase:ctor() -- 觸摸監聽事件 local listen

原创 日常代碼重構筆記

這裏存放一些平時看代碼時覺得需要重構的地方並記錄下來(語言可能不止一種),供大家參考|討論。 1. 數據容器一致性操作|函數單一職能 功能需求:對多個節點佈局時,如果節點排布超出屏幕則將預定節點調整至一個可滑動容器中(scrollUI);

原创 Cocos2dx 事件響應機制(2):事件處理機制

1 事件的工作機制 圖1 傳統事件系統如上圖,模塊A爲事件觸發者,模塊B爲事件響應者。A的實現依賴於模塊B的實現,如果B的實現發生變化,A也可能需要作出相應調整。Cocos用訂閱者模式將事件的觸發者和響應者分開。觸發者向一個公共的

原创 lua 算法題集(1)

此處收集一些簡單的算法以及其lua的簡單實現。(題目來自於劍指offer、程序員代碼面試指南、網絡資源等;提供的實現代碼並非爲最優或最佳,也可能遺漏了某些特殊情形,因此僅供參考。若存在問題,可以留言交流。) 1 數據結構相關 1.1 數組

原创 Cocos2dx Action動畫機制

1 動畫執行過程 cocos中的動畫通過節點執行,如: node:runAction( cc.Sequence:create(cc.DelayTime:create(1.4),cc.CallFunc:create(removeThis)