はんぎょねこの憂鬱

大丈夫。はんぎょねこのブログだよ。

DirectX11 Efficient Buffer Management

未だに参照するけどスライド探すのに時間かかってしまうのでメモ http://gamedevs.org/uploads/efficient-buffer-management.pdf これは知っとけ的な API呼び出しは可能な限り減らす 16バイトアライメントする(最大30倍速度差が出る) D3D11Deviceはmutexを…

Qt ビルドする(GPL版)

リリースDLLのPDBが欲しかったのでビルドする ここを見れば大体わかる https://doc.qt.io/qt-5.6/windows-building.html わしの環境 Windows10やで Visual Studio 2015をインストールしているものとする とりあえず Qt5.10.1 Qtダウンロード Qtのホームペー…

PySide2 終了時のメモリアクセスエラー

原因調べるのが面倒くさいので困ります from PySide2 import QtWidgets import sys if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) main = QtWidgets.QMainWindow() action = QtWidgets.QAction(main) action.setText('Action') action…

CryptoJSで画像を暗号化してみたり

https://code.google.com/archive/p/crypto-js/ ただやってみただけ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ANGOUKA</title> </head> <body> <input id="selfile" type="file" /><br /> <image id="preview"></image><br /> </body></html>

Chromeのコンソール画面で遊ぶ(SVG編)

console.log('%c ', 'background: url(\'data:image/svg+xml;utf8,\') left top no-repeat; font-size: 120px;'); Check console log in Google Chrome! えぇっ!?IEを使っているだって?君は正気か?

three.js Chromeローカルファイル読み込みで怒られたよ

three.jsのサンプルローカルで実行してたら怒られたのでメモ Failed to load **** Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. ローカルサーバー建てるのは面倒くさいので 起動オプショ…

pythonのreversedはイテレータを返す

反転したリストを複数回使うときにハマった a = reversed([1, 2, 3]) # イテレータを返す for x in a: print(x) for x in a: print(x) # ここは呼ばれない reverseなどでリスト自体を反転させておくか a = [1, 2, 3] a.reverse() for文ごとにreversedを呼べ…

プログラマのためのMaya攻略法

Mayaの内部構造をgoogle先生をウロウロしながら理解するのは効率が悪いので次の方法がおすすめ Complete Maya Programmingを読む devkitのサンプルを覗く MELコマンドの仕様はリファレンスを読む Complete Maya Programmingは分厚く読むのは疲れるが、ツール…

PySide keyPressEventが反応しないとき

もしかして self.setFocusPolicy(QtCore.Qt.StrongFocus) し忘れているんじゃないでしょうか。

PySide1と2でQScrollArea::wheelEventの動作が若干違う

違うんじゃあああああああああああああああああぁぁぁぁあああばばばっばばばば # from PySide2.QtWidgets import * from PySide.QtGui import * import sys app = QApplication(sys.argv) class MyWidget(QWidget): def wheelEvent(self, event): print('ho…

QTimer.singleShotをサブスレッドで使うには

呼び出しスレッド側でexec関数をよんでイベントループを開始せよ QTimer Class | Qt 4.8 In multithreaded applications, you can use QTimer in any thread that has an event loop. To start an event loop from a non-GUI thread, use QThread::exec(). Q…

PySide2 ビルドしてみる

ここ見たら大体書いてあるよ https://wiki.qt.io/PySide2_GettingStarted PySide2最新の状況はこのへんをチェック https://bugreports.qt.io/projects/PYSIDE https://gitter.im/PySide/pyside2 環境 Windows10 Python 3.6 (64bit) Qt 5.6 OpenSSLは使わない…

PySide Custom Dialog

Dialogを自分で実装するときのポイント QDialogを継承する ボタン表示にはQDialogButtonBoxを使う こんなかんじ from PySide import QtCore, QtGui import sys class CustomDialog(QtGui.QDialog): def __init__(self): super().__init__() self._buttons = …

ねんがんの GPD Pocket をてにいれたぞ

とりあえず一台ゲットしたので適当レビュー 使っているうちに意見をコロコロ変える可能性あります スペックおさらい OS Ubuntu 16.04 LTS or Windows 10 Home CPU Quad-core 1.6GHz GPU Integrated processor RAM 8GB ストレージ容量 128GB ( Samsung MDGAG…

PySide 編集可能なQTreeWidgetを作る

import sys from PySide import QtCore, QtGui class MyTreeWidget(QtGui.QTreeWidget): def __init__(self): super().__init__() self.setHeaderHidden(True) self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.con…

PySide movable and resizable widget without frame

import sys, enum from PySide import QtCore, QtGui class Item(QtGui.QLabel): Manipilate = enum.Enum('Manipilate', 'none move resize_l resize_r') def __init__(self, text): super().__init__(text) self.setStyleSheet('background-color: white; b…

PySide Progressbarを表示してみる

QProgressDialogを使うと一番簡単であります import sys from PySide import QtGui app = QtGui.QApplication(sys.argv) prog = QtGui.QProgressDialog('何か処理しています...', 'キャンセル', 0, 100, None, 0) prog.show() prog.setValue(50) sys.exit(ap…

QScrollAreaに固定されたヘッダーを表示する

import sys from PySide import QtGui class MyTable(QtGui.QWidget): def __init__(self): super().__init__() lo = QtGui.QHBoxLayout() lo.setContentsMargins(0, 0, 0, 0) lo.setSpacing(0) self.setLayout(lo) self._header = QtGui.QLabel('header') s…

PySide ドラッグでデータ受け渡し

import sys from PySide import QtCore, QtGui # ドラッグ&ドロップで色を受け渡す class WidgetItem(QtGui.QLabel): def __init__(self, color): super().__init__('') self._color = color self.setStyleSheet('border: 1px solid black;') self.setFixed…

PySide ドラッグでWidgetを移動させる

import sys from PySide import QtCore, QtGui # ドラッグで動くWidget class WidgetItem(QtGui.QLabel): def __init__(self): super().__init__('') self.setStyleSheet('border: 1px solid black; background-color: red;') self.setFixedSize(32, 32) sel…

Pythonゲームプログラミング #9 スクロール

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール スクロール pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 pyg…

Pythonゲームプログラミング #8 マップチップ

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール マップチップ pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 p…

Pythonゲームプログラミング #7 ステートマシン

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール ステートマシン pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1…

Pythonゲームプログラミング #6 衝突判定

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール 衝突判定 pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 pygam…

Pythonゲームプログラミング #5 サウンド

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール サウンド pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 pygam…

Pythonゲームプログラミング #4 キー入力

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール キー入力 pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 pygam…

Pythonゲームプログラミング #3 アニメーション

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール アニメーション pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1…

Pythonゲームプログラミング #2 画像表示

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール 画像表示 pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 pygam…

Pythonゲームプログラミング #1 メインループ

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール メインループ pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 p…

Pythonゲームプログラミング #0 環境構築

#0 環境構築 #1 メインループ #2 画像表示 #3 アニメーション #4 キー入力 #5 サウンド #6 衝突判定 #7 ステートマシン #8 マップチップ #9 スクロール 環境構築 pygameを使ったゲームプログラミングについて説明していきます。 Windows10 Python3.6.1 pygam…